• Save
Bpm WorkFlow (TR)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Bpm WorkFlow (TR)

on

  • 692 views

Süreçleri dizayn için görsel tasarım programı hem windows hem de web tabanlı olarak objeleri sürükle-bırak şeklinde çalışıyor. Tamamen .NET tabanlı. Süreç XML veya binary olarak ...

Süreçleri dizayn için görsel tasarım programı hem windows hem de web tabanlı olarak objeleri sürükle-bırak şeklinde çalışıyor. Tamamen .NET tabanlı. Süreç XML veya binary olarak saklanıyor. Süreç runtime esnasında o anki durumu da aynı şekillerle gösterebiliyor.

Statistics

Views

Total Views
692
Views on SlideShare
687
Embed Views
5

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 5

http://www.slideshare.net 3
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bpm WorkFlow (TR) Presentation Transcript

  • 1. BPM WorkFlow (Turkish) Developer’s Technical Document Series 2007 © Selçuk ÇELİK Software Architect MCSE, MCSD, MCDBA, CCNA, Net +
  • 2. Senaryo
    • Yayımlama personeli döküman hazırlayacak ve saklayacak.
    • Aynı ekrandan süreci başlatacak.
    • Daha sonra bu işlem kendi inbox ına düşecek.
    • Burada uygun görüş vermeleri için kullanıcıları seçecek.
    • Bu kullanıcılar görüş bildirecek.
    • Kontrol personelleri kontrol edecek.
    • Yayımlama personelleri yayınlayacak.
  • 3. Süreç Dizaynı
  • 4.  
  • 5. Başla
    • string uygunGorusPersoneli = TqmComments.GetNextCommentUser(UId);
    • string uygunGorusGerekli = (uygunGorusPersoneli != "-1") ? "0" : "1";
    • string dokumaniOlusturan = CurrentUser.ID.ToString();
    • string uniqueId = this.UId.ToString();
    • string kontrolPersonelleri = new TqmFrHelper().GetEmptyWgRoleInstanceId(Stat.KontrolPersonelleri).ToString();
    • string onayPersonelleri = new TqmFrHelper().GetEmptyWgRoleInstanceId(Stat.OnayPersonelleri).ToString();
    • string dagitimPersonelleri = new TqmFrHelper().GetEmptyWgRoleInstanceId(Stat.DagitimPersonelleri).ToString();
    • long processDefId = TqmWorkflowDefinition.GetDefinition(Stat.CreateWfName);
    • Dictionary<string, string> startParameters = new Dictionary<string, string>();
    • startParameters.Add(&quot;UYGUN_GORUS_GEREKLI&quot;, uygunGorusGerekli);
    • startParameters.Add(&quot;UYGUN_GORUS_PERSONELI&quot;, uygunGorusPersoneli);
    • startParameters.Add(&quot;DOKUMANI_OLUSTURAN&quot;, dokumaniOlusturan);
    • startParameters.Add(&quot;UNIQUE_ID&quot;, uniqueId);
    • startParameters.Add(&quot;KONTROL_PERSONELLERI&quot;, kontrolPersonelleri);
    • startParameters.Add(&quot;ONAY_PERSONELLERI&quot;, onayPersonelleri);
    • startParameters.Add(&quot;YAYIMLAMA_PERSONELLERI&quot;, dagitimPersonelleri);
    • WorkflowHelperXml wh = new WorkflowHelperXml(processDefId);
    • wh.StartProcess(userId, objectId, &quot;Start&quot;, parameters, ObjectTypeID);
  • 6.  
  • 7. Yayımlama personeli
    • Inbox ına bakar. Burada gelenler kısmında Grid içinde ilgili link üzerinde tıklar.
    • Link üzerinde SetCommentUsers.aspx?..... Yazmaktadır.
    • Bu ekranda combo dan görüş alınacak ilgilileri tek tek seçip Grid e ekler.
    • Ve onay a tıklar.
  • 8. SetCommentUsers.aspx.cs toolbar onay click event
    • string uygunGorusPersoneli = TqmComments.GetNextCommentUser(UId);
    • if (uygunGorusPersoneli == &quot;-1&quot;) // onaylayacak kisi bulamadi/yok
    • {
    • WorkflowAttributes.SetAttribute(ActId, &quot;UYGUN_GORUS_GEREKLI&quot;, &quot;1&quot;, DbObject); // Uygun gorus gerekli degil
    • }
    • else
    • {
    • WorkflowAttributes.SetAttribute(ActId, &quot;UYGUN_GORUS_GEREKLI&quot;, &quot;0&quot;, DbObject); // Onaylayacak kisi bulundu Uygun gorus gerekli yap bu activite icin
    • }
    • WorkflowAttributes.SetAttribute(ActId, &quot;UYGUN_GORUS_PERSONELI&quot;, uygunGorusPersoneli, DbObject); // Secilen kisi varsa ve bunu set et bu aktivite icin
    • DbObject.Commit();
    • extender.ObjectId = this.UId;
    • extender.DoActivity(var);
  • 9. Uygun görüş kişileri seçildi ise bu if in gerekli kısmı icra olur Uygun görüş için kişi seçilmedi ise gereksiz kısmı icra olur Ve sonraki aktivite olan email atılmalar yapılır.Sonraki Aktivite içeriden çalışır.
  • 10.  
  • 11. Uygun Görüş Personelleri
    • Inbox ına bakar.
    • Grid içindeki veriden ilgili linke tıklar.
    • Linkte ViewComments.aspx?... Yazmaktadır.
    • Bu sayfaya gider.
    • Uygun görüş bildirir. Ve onay verir.
  • 12. ViewComments.aspx.cs toolbar click event
    • try
    • {
    • this.AddComment1.AddComment(DbObject, var);
    • string uygunGorusPersoneli = TqmComments.GetNextCommentUser(UId,DbObject);
    • string uygunGorusGerekli = (uygunGorusPersoneli != &quot;-1&quot;) ? &quot;0&quot; : &quot;1&quot;;
    • Moz.Workflow3.WorkflowAttributes.SetAttribute(ActId, &quot;UYGUN_GORUS_GEREKLI&quot;, uygunGorusGerekli,DbObject);
    • Moz.Workflow3.WorkflowAttributes.SetAttribute(ActId, &quot;UYGUN_GORUS_PERSONELI&quot;, uygunGorusPersoneli,DbObject);
    • DbObject.Commit();
    • this.CommentsOnDocument1.UId = this.UId;
    • }
    • catch
    • {
    • DbObject.Rollback();
    • return;
    • }
    • extender.ObjectId = this.UId;
    • extender.DoActivity(var);
  • 13. Tek tek tüm görüş bildirecekler görüşlerini bildirir.Yani bir çeşit döngü olur Görüş için kimse kalmaz ise Gereksiz kısmı otomatik çalışır sonraki aktivite ye gider.
  • 14.  
  • 15. Kontrol Personelleri
    • Inbox ına girer.
    • Grid içindeki veriden ilgili linke tıklar.
    • Linkte DocumentView.aspx?... Yazmaktadır.
    • Bu bir Form aktivitesi nin çalışması olduğundan süreçteki oklar daki açıklamalar buton olarak toolbar a aynen gelir. Hangisi seçilirse o yöne gider ! 
  • 16. DocumentView.aspx.cs toolbar click event
    • if (ClickedMenuId == var)
    • {
    • extender.ObjectId = this.UId;
    • extender.DoActivity(var);
    • return;
    • }
  • 17. Bu isimlerde toolbar a buton gelir. Butonun seçilmesi ile o yöne doğru süreç devam eder.
  • 18. Gerisi size kalmış  Teşekkürler Selçuk ÇELİK Software Architect MCSE, MCSD, MCDBA, CCNA, Net +