|
procedure TCGXform.UserStartFlow
(AFlowUrl,ADept,ARole,APerson,AStartProc,AFlowID,ASubject,ADescription:string);
var
lBizURL: TBizURL;
lFlowValue: TFlowValue;
lFlowControl: TFlowControl;
lExecutor: TOrgURL;
begin
lBizURL := TBizURL.Create;
lFlowValue := TFlowValue.Create;
lFlowControl := TFlowControl.Create(Self.Context);
lExecutor := TOrgURL.Create(ADept, ARole, APerson);
lBizURL.URL := AFlowUrl;
try
lFlowValue.IDs.Add(AFlowID);//流程ID
lFlowValue.Subject := ASubject;//流程主题
lFlowValue.Description := ADescription;//流程描述
//启动流程实例
lFlowControl.StartupFlow(lBizURL, AStartProc, lExecutor, lFlowValue);
//流程实例数据保存到数据库
lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
------------------------------------------------------------------------------------------------------
procedure TCGXform.DataGridDblClick(Sender: TObject);
var
{ lFunc: TFunc;
SUrl: String; }
ADept,ARole,APerson,AFlowID:String;
begin
{ SUrl := 'Biz:OPERATIONOASPACESQNG_func.Func';
lFunc := SystemCore.TSYSTEMCORE.FuncManager.RunFunc(Context.Parent, '', SUrl, '', nil, False); }
//在主界面中需要获取用户信息时,由于还没有环境信息,所以必须使用此种方法。
APerson:= TSystemCore.Operator.Positions[0].PersonMember.ID; //当前操作者ID
ARole:= TSystemCore.Operator.Positions[0].PositionMember.ID; //当前操作者岗位ID
ADept:= TSystemCore.Operator.Positions[0].PositionMember.Parent.ID; //当前操作者部门ID
//TSystemCore.Operator.Positions[0].PositionMember.Parent.Parent.ID //当前操作者机构ID
AFlowID:= SWSQXX.TSWSQLB(DocViewSWSQXX_SWSQLB.doc).DataSetBrokerSWSQSJJ.DataSet.FieldByName('guid').asString;
UserStartFlow('Biz:OPERATIONOASPACESWSQLC.Proc',ADept,ARole,APerson,'SQNG_FUNC',AFlowID,'继续拟写申请','继续拟写申请');
end;
=======================================
procedure TCGXform.BizFormCreate(Sender: TObject);
begin
//在功能窗体的 onShow 事件上,把DataGridDblClick 赋值给 DoCview1对应的DataGrid 的ondbClick事件,实现代码参考如下
SWSQXX.TSWSQLB(DocViewSWSQXX_SWSQLB.doc).DataGrid.OnDblClick := DataGridDblClick;
end;
现在,里面的参数传入的都正常,都正确。就是本功能运行完了。入口功能的主窗体没有打开。
|
-
-
1.jpg
24.32 KB, 下载次数: 148
|