|
function TWorkFlowExecutor.GetPositionContext: TContext;
CONST
msg_NotFoundPosition = '????[??:%s, ??:%s, ??:%s]????????,'+
#13 + #10 + '???????????!';
var
lPerson: TPerson;
lPosition: TOperatorPosition;
lDeptID, lPositionID, lPersonID: string;
lPositions: TOperatorPositionArray;
begin
Result := nil;
if CanProcess then
begin
lDeptID := GetExecutorDept;
lPositionID := GetExecutorPosition;
lPersonID := GetExecutorPerson;
//取消登录
{if Assigned(FOperator) and (FOperator.ID <> lPersonID) then
Opr.Logoff(FOperator);
lPerson := Org.OrgSys.OrgSystem.GetPerson(lPersonID);
FOperator := Opr.Logon(lPerson.ID, lPerson.Password); }
try
lPositions := [];
// dialogs.showmessage(GetExecutorDept+GetExecutorPosition+GetExecutorPerson);
if FOperator.FindPosition(GetExecutorDept, GetExecutorPosition, GetExecutorPerson, lPositions) then
lPosition := lPositions[0]
else
lPosition := nil;
if lPosition <> nil then
Result := lPosition.Context
else
JSDialogs.ShowMsg(SysUtils.Format(msg_NotFoundPosition,
[lDeptID, lPositionID, lPersonID]), '');
finally
end;
end;
end;
看代码注释掉的部分,用户不登陆系统可不可以代码创建一个岗位的context?上边的函数登录过程比较耗时间。 |
|