修改一下脚本:
标准风格主窗体:
procedure TSTANDARDSTYLEMAINFORM.actDeputyExecute(Sender: TObject);
var
L: TList;
lOrgList: TObjectList;
I: Integer;
lID: String;
begin
lOrgList := TObjectList.Create(False);
L := TList.Create;
FSMNGR.OrgSystemManager.UseLocalCache := False;
lID := TContextUtils.GetOperator(GetRealContext).ID;
try
Opr.OperatorLoader.LoadPersonMembers(lID, L);
for I := 0 to L.Count - 1 do
begin
if StringUtils.Pos(lID, TPersonMember(L[I]).BizURL.URL) >= 1 then
lOrgList.Add(TPersonMember(L[I]));
end;
TDEPUTIEDPOSFORM.Deputied(Context, lOrgList, FDeptManager);
Org.OrgSys.OrgSystem.RefreshCache;
TCommonFunc.EnsureChanged;
finally
L.Free;
lOrgList.Free;
end;
end;
系统登录对话框:
function TSYSTEMLOGINDIALOG.RecoverPosition: Boolean;
var
S: String;
lOrg: TOrgUnit;
I: Integer;
lCacheLocalCacheEnabled: Boolean;
begin
Result := False;
try
//lCacheLocalCacheEnabled := FSMNGR.OrgSystemManager.UseLocalCache;
FSMNGR.OrgSystemManager.UseLocalCache := False;
lOrg := OrgSys.OrgSystem.FindUnit(TPersonMember(cbPosition.Items.Objects[cbPosition.ItemIndex]).BizURL);
for I := lOrg.Module.Deputies.Count - 1 downto 0 do
begin
TOrgDeputyItem(lOrg.Module.Deputies[I]).FinishTime := Business.Data.SysSrv.SysService.Time;
TOrgDeputyItem(lOrg.Module.Deputies[I]).Enabled := False;
end;
OrgSys.OrgSystem.SaveUnit(lOrg);
I := cbPosition.ItemIndex;
S := cbPosition.Items[I];
StringUtils.Delete(S, 1, cDeputied.Length);
cbPosition.Items[I] := S;
cbPosition.ItemIndex := I;
cbPositionChange(nil);
Result := True;
org.OrgSys.OrgSystem.RefreshCache;
OrgLib.TCommonFunc.EnsureChanged;
// FSMNGR.OrgSystemManager.UseLocalCache := lCacheLocalCacheEnabled;
btnLogon.Enabled :=False;
jsDialogs.ShowWarning('岗位已经回收,请退出重新登陆!', '登录');
except
jsDialogs.ShowWarning('岗位回收失败,不能用该岗位登录,请联系系统管理员', '登录');
end;
end; |