我有一个必须从
Info
类 startupPost
方法触发的表单,因为它必须验证条件,如果条件为真(如果是用户的生日),则触发我的表单。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();
}
}
查看表
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
}
}