Örnek vermek gerekirse bir firmayı pasif yaptığımız zaman altındaki ilgili kişilerini de pasif yapmak istiyoruz.Aynı şekilde aktif yaptığımızda altındaki ilgili kişilerininde aktif olmasını isteyebiliriz.
Herhangi bir kod yazmadan bu işlemleri MSCRMWorkflowUtilities solutionı ile yapabiliyoruz. Tek yapmak gereken çözümü indirip crm e yüklemektir.
Not: CRM versiyonunuza uygun paketi indirmelisiniz.
Çözüm bize SetState operatorunu workflow üzerinde kullanılmasını sağlayacaktır. Bu şekilde kayıtların durumlarını güncelleyebileceğiz.
İlk olarak ana kayıt için bir iş akışı oluşturalım.
Firma kayıtları için alt kayıtlarının durumlarını güncellemek için bir iş akışı oluşturalım.Ardından istediğimiz koşullarda ve birçok basamaklı adım girebiliriz.
Aşağıdaki örnekte , firma aktif olduğunda altındaki ilgili kişileri aktif , firma pasif olduğunda altındaki ilgili kişileri pasif edilecektir.
Not: Firmanın ilgili kişileri ve aktivitelerini de pasif yapacaksak bunlar için de ek adımlar tanımlayabiliriz.
Eklediğimiz her Cascade SetState adımı için 3 parametre tanımlamamız gerekir.
1- Alt Varlığın Adı ( Child Entity Name )
SetState işlemini basamaklamak için kullanılacak alt vrlığın adıdır .
Bizim örneğimizde "contact" olacaktır.
Şema adını varlığın tanımından bulabilirsiniz.
2- Ana Varlıkla Kurulan İlişki Alanı ( Child Lookup Attribute To Parent )
Ana varlık ile alt kaydın birbirine bağlandığı arama alanının şema adıdır.
Bizim örneğimizde "parentcustomerid" dir.
Bu adı alt varlığın ana varlığa bağlandığı arama alanının tanımlarından ulaşabilirsiniz.
3- Alt Varlığın Durum Kodu ( Target Child State Code )
Alt varlıkların durumunu içeren değerdir. Bu değer çoğu zaman pasif için 1 , aktif için 0 dır.
Not :Bazı fırsat gibi özel varlıklarda SetState mesajının kullanılması desteklenmez. Tüm özel varlıklar destekler.
Hiç yorum yok:
Yorum Gönder