我有一个必须从Info
类startupPost
方法触发的表单,因为它必须验证条件,如果条件为真(如果它是用户&# 39;生日那天,然后触发我的表格
我发现验证用户的BDay的唯一方法是从EmplTable
获取它。另外,我需要在EmplTable
和UserInfo
或SysUserInfo
表之间进行关联,以便为我提供用户ID。
问题是我没有找到一种正确的方法来关联表格,因为在我的EmplTable
我有一个DEL_userId
字段,它没有填充而没有使用。
总之,来自以下代码块的if
块不会被执行。
我还故意没有声明emplTable
变量,因为我不确定什么是最好的声明方式。
提前感谢任何想法的人!
void startupPost()
{
EmplTable emplTable ; //intentionally left undeclared
int dayOfBirth = dayOfMth(emplTable.BirthDate);
int monthOfBirth = mthOfYr(emplTable.BirthDate);
int dayOfMonth = dayOfMth(systemdateget());
int monthOfYear = mthOfYr(systemdateget());
str emplName = emplTable.name();
Args args = new Args(); //formrun
FormRun formrun;
;
if (dayOfBirth == dayOfMonth && monthOfBirth == monthOfyear )
{
info("ok"); //just to verify if my loop is working
new MenuFunction(menuitemDisplayStr(NET_PALIN_001_HBDay), MenuItemType::Display).run();
// args.name(formStr(NET_PALIN_001_HBDay));
// formRun = classFactory.formRunClass(args);
// formRun.init();
// formrun.run();
}
}
答案 0 :(得分:1)
查看表格SysCompanyUserInfo
,该表格将系统用户从UserInfo
映射到EmplTable
的员工。
下面是一个示例,用于查找当前用户的EmplTable
(如果存在)的相关记录
static void FindCurUserEmplTable(Args _args)
{
EmplId emplId;
EmplTable emplTable;
;
emplId = EmplTable::userId2EmplId(curuserid());
if (emplId != '')
{
emplTable = EmplTable::find(emplId);
// ... your birthday logic
}
}