如何查找系统用户的员工

How to find employee of system user

我有一个必须从 Info class startupPost 方法触发的表单,因为它必须验证一个条件,如果条件为真(如果它是用户的生日),然后触发我的表单。
我发现验证用户 BDay 的唯一方法是从 EmplTable 中获取它。此外,我需要关联 EmplTableUserInfoSysUserInfo 表之间的内容,以便为我提供用户 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();
    }
}

查看 table 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
    }
}