Click or drag to resize

RemWorkflowCreateWorkflow Method (rWorkflow, ITypes, String)

Paperwork .Net Kütüphanesi
İş akışı başlatmak için kullanılır.

Namespace:  Paperwork.Connect
Assembly:  Paperwork.Connect (in Paperwork.Connect.dll) Version: 5.0.0.0
Syntax
C#
public a_GenericResult CreateWorkflow(
	rWorkflow wi,
	ITypes FormData,
	string cSource
)

Parameters

wi
Type: rWorkflow
İş akışı nesne numarası
FormData
Type: ITypes
cSource
Type: SystemString
Internal kullanım için gereklidir. Default değeri "F" dir.

Return Value

Type: a_GenericResult
a_GenericResult nesesi içinde , ErrorCode=0 ise işlem başarılıdır. Aksi taktirde Result ve Message alanları kontrol ediniz.
Examples
C#
 
             public void CreateWorkflow()
             {
                 //İlk olarak akışı başlatacağımız taslağın bilgisine erişiyoruz.
                 rProcessInfo[] processes = p.rWorkflow.GetProcesses(2).Items;
                 rProcessInfo prc = processes.FirstOrDefault(p => p.ProcessName == "TEST_1");
                 if (prc == null)
                     throw new Exception("Akış bulunamadı");

                 //Taslağın bilgileri ile yeni bir iş akışı tanımlıyoruz.
                 a_Workflow flwData = new a_Workflow();
                 flwData.WorkflowName = "Workflow_Emre";
                 flwData.WorkflowDesc = "Workflow_Emre_Desc";
                 flwData.ProcessId = new ObjectID(prc.ProcessId);
                 flwData.AclId = new ObjectID(prc.AclId);
                 flwData.WorkflowId = new ObjectID(string.Empty);
                 flwData.FormName = new ObjectName(prc.FormName);
                 //SELECT * FROM PW_FORMS(NOLOCK) WHERE FORM_NAME = 'FINANS_MD' FormName'inin FormVersion bilgisini bulabiliriz. ! Version = 1 !
                 flwData.FormVersion = "1";
                 flwData.TypeName = new ObjectName(prc.ObjectType);
                 flwData.Version = string.Empty;
                 flwData.Owner = Definitions.SUPERUSER;
                 flwData.State = WORKFLOWState.Init;
                 flwData.CreateDate = DateTime.Now;
                 flwData.AttachmentId = new ObjectID(string.Empty);

                 ITypes fObject = p.rDocument.getDocument(new ObjectID(string.Empty), prc.ObjectType);
                 PW_SYSOBJECT sObject = fObject as PW_SYSOBJECT;
                 sObject.FORM_NAME = flwData.FormName.Value;
                 sObject.FORM_VERSION = flwData.FormVersion;
                 sObject.OBJECT_NAME = flwData.WorkflowName;
                 sObject.ACL_ID = flwData.AclId.Value;
                 sObject.OWNER = Definitions.SUPERUSER;
                 sObject.FOLDER_ID = DefaultObjects.WorkflowDir;
                 sObject.OBJECT_TYPE = flwData.TypeName.Value;
                 sObject.CONTENT_TYPE = Definitions.CONTENT_TYPE_FLOW;
                 sObject.VIRTUAL_DOC_ID = string.Empty;
                 sObject.IS_FTS = true;
                 sObject.IS_VIRTUAL_DOC = false;
                 sObject.IS_LAST_VERSION = true;
                 //Akış başlarken custom değerler vermek istersek sObject diyerek değer verebiliriz.

                 //Tanımladığımız akışı başlatıyoruz.
                 flwData.FormData = fObject;
                 flwData.ContentType = WorkItemContentTYPE.NoContent;
                 a_GenericResult gr = p.rWorkflow.CreateWorkflow(flwData, "F");
                 if (gr.ErrorCode != 0)
                     Console.WriteLine("hata : " + gr.Message);

                 //Akış başlatıldı
                 var newWfId = gr.Result;
             }
See Also