Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Örnek Workflow Tasarımı Senaryosu

Örnek senaryoda LogoCRM üzerinde yeni oluşturulan Teklif kaydına bağlı olarak, üç adet ilişkili görev oluşması; İlişkili görevlerin Tanım ve Atanan Departman bilgilerinin iş akışında atanmış şekilleriyle gelmesini tasarlayalım:

  1. Definition yaratıldıktan sonra Properties ekranında Target Object Type: Teklif ve Automatically start when: Object is created işaretlenir. Çünkü hedef nesnemiz teklif ve yeni bir teklif yaratıldığında akışın çalışmasını istiyoruz.


Image RemovedImage Added


2. Designer ekranına geçilir. Temel bilgilerde anlatıldığı üzere tasarıma ObjectTransactionScope aracıyla başlanır.

3. Hedef nesne olan Teklif'e referans atamak için GetObjectByKey<MT_Proposals> etkinliği sürükleyip bırakılır ve Key alanına targetObjectId parametresi girilir.

4. Etkinliğin Result bölümüne bağlamak için türü MT_Proposals olan değişken oluşturulur ve özellik penceresinde Result alanına yazılır:  

 
Image RemovedImage Added


5. Daha sonra yeni yaratılacak nesne için CreateObject<MT_Task> sürükleyip bırakılır ve Result bölümüne bağlamak için türü MT_Task olan değişken oluşturulup özellik penceresinde Result alanına yazılır. 

 
Image Removed Image Added

6.Yalnız biz burada görevin ayrı bir nesne olarak değil teklife ilişkili bir nesne olarak yaratılmasını istiyoruz ve türler arasında teklife ilişkili görevi karşılayan alan bulunmuyor. Task içinde Proposal Oid collection olarak tutulmaktadır.

Bu sebeple AddToCollection<MT_Proposals> fonksiyonunu kullanarak yaratılacak görevi teklife ilişkilendireceğiz. Collection alanına task.ProposalOid yazıyoruz ve Item alanına proposal değişkenini yazıyoruz.


Image RemovedImage Added


7. Ardından yaratılacak görevin özelliklerini doldurmaya başlayabiliriz. Öncelikle görevin Tanım (Subject) özelliğini doldurmak istiyoruz.

Sol taraf (To) değerine yarattığımız nesneye bağladığımız değişkenin doldurmak istediğimiz alanına karşılık gelen ifade olarak task.Subject yazıyoruz. Alan adı veritabanından kontrol edilerek doğru şekilde yazılmalıdır yoksa hata verecektir.

Subject alanı String türündedir, bu sebeple sağ taraf (Value) değerine çift tırnak içinde istediğimiz Tanımı yazıyoruz. Tür uyuşmazlığı olması durumunda yine hata ile karşılaşılacaktır.


Image RemovedImage Added


8.  Bir başka özellik olarak Atanan Departman (AssignedDepartment) alanını doldurmak istiyoruz. Bu alan CT_User_Departments türünde karşımıza çıkmaktadır. Öncelikle GetObjectByKey<CT_User_Departments> etkinliğini kullanarak istediğimiz kullanıcı departmanını Guid üzerinden almamız gereklidir.

Bunun için etkinliğin Key kısmına Guid.Parse("istenilen departmanın Oid değeri") yazılır. 

Etkinliğin Result bölümüne bağlamak üzere, türü CT_User_Departments olan bir değişken oluşturulur ve Result alanına yazılır.


Image Removed Image Added

9.  Daha sonra Assign etkinliği ile AssignedDepartment alanı doldurulur. Value alanına kullanıcı departmanını karşılayan değişken yazılır.


Image Removed Image Added

10. Toplamda 3 adet ilişkili görev yaratılması istendiği için aynı işlemler iki defa daha tekrarlanır. Assign edilecek Tanım ve Atanan Departman özellikleri farklı olacağı için sağ taraf ve Guid değerleri değiştirilir. Image Removed

Image Added

Tasarım bittikten sonra kaydedilir ve aktifleştirilir. Workflow servisi Restart edilir.

Ardından LogoCRM'de yeni Teklif kaydı oluşturuldupunda akışın çalışarak istenilen özelliklerde 3 ilişkili görev kaydı yarattığı görülür.


Image RemovedImage Added