Departman
Akışta bir departman değerini çözümleyip içinde tutan değer nesnesidir. Tek başına bir bekleme ya da onay noktası değildir; doldurduğu departman bilgisini başka nesnelere (bir Pozisyon, bir Değişken ya da bir Atama adımına) kaynak olarak verirsiniz. En tipik kullanımı, bir departmanı belirleyip o departmanın yöneticisini bir onaycıya bağlamaktır.
Ne zaman kullanılır?
- Onaycıyı departmanın yöneticisi olarak belirleyeceğiniz zaman: önce departmanı bu nesneyle çözümleyin, sonra
FlowPosition.SetDepartmentManagerUserFromDepartment(...)ile o departmanın yöneticisini pozisyona atayın. - Akışı başlatan kişinin departmanını, bir pozisyonun departmanını ya da bir değişkende taşınan departmanı tek bir nesnede toplayıp ileride kullanmak istediğinizde.
- Departman bilgisini bir Değişkene yazıp akışın ilerleyen adımlarında taşımak istediğinizde.
Sabit ya da koşulsuz bir org değeri kopyalama işini toplu yapacaksanız Atama nesnesi de aynı Set* ailesini sağlar.
Ayarlar
Departman nesnesi seçildiğinde tasarımcıda departmanın nasıl çözümleneceği belirlenir:
| Ayar | Açıklama |
|---|---|
ValueType | Departman değerinin nasıl belirleneceği (sabit / başlatandan / pozisyondan / değişkenden). |
Id / Code / Description | Çözümlenen departmanın kimliği, kodu ve adı. |
Akıştaki yeri
Departman bir geçiş nesnesidir: akış buraya geldiğinde içine bir departman değeri yerleşir ve akış beklemeden devam eder. Asıl işi, bu değeri başka bir nesneye kaynak olmaktır. Örneğin önce Departman nesnesini başlatanın departmanıyla doldurur, ardından bir Pozisyon adımında o departmanın yöneticisini onaycı yaparsınız. Departmanı koşula göre belirleyecekseniz, doldurmayı bir Fonksiyon adımında yapın.
Kod örnekleri
Departman değeri, akış kodunda nesnenin adıyla doldurulur. Sunucu (akış) kodu turuncu çerçevelidir.
Departmanı çözümleme
// Sabit bir departmanı kimliğiyle ata
p_Departman.SetConstantDepartment(1024);
// Sabit departmanı kod ve açıklamayla ata
p_Departman.SetConstantDepartment(1024, "SAT", "Satınalma");
// Akışı başlatan kişinin departmanı
p_Departman.SetFromFlowInitiator();
// Bir pozisyonun departmanı
p_Departman.SetFromPosition(p_Mudur);
// Bir değişkende taşınan departman
p_Departman.SetFromVariable(v_DepartmanId);
Departman yöneticisini onaycı yapma
// Önce departmanı çözümle
p_Departman.SetFromFlowInitiator();
// O departmanın yöneticisini bir pozisyona onaycı olarak ata
p_Mudur.SetDepartmentManagerUserFromDepartment(p_Departman);
SetConstantDepartment metodu hem Int64 kimlik hem de bir Department org nesnesi alan aşırı yüklere sahiptir. Datasource'tan gelen değeri kimlik olarak veriyorsanız Convert.ToInt64(...) ile çevirin.
İpuçları
- Departman tek başına onay üretmez; değeri mutlaka bir Pozisyon, Değişken ya da Atama nesnesine besleyin.
- Departman yöneticisini onaycı yapmak için
FlowDepartmentnesnesini doğrudanFlowPosition.SetDepartmentManagerUserFromDepartment(sourceDepartment)metoduna verin. SetManagerDepartment(sourceDepartment)ile bir departmanın üst departmanını çözümleyebilirsiniz.- TODO: doğrulanacak —
FlowDepartmentüyeleri reflection dökümünden gelir; yukarıdaki kod kalıbı IDE'de örnekle teyit edilmemiştir, yapı doğru olsa da çağrı sırasını canlı akışta doğrulayın.
Doğrulanmış kod arayüzü (FlowDepartment)
Çözümleme metotları: SetConstantDepartment(Int64), SetConstantDepartment(Department), SetConstantDepartment(Int64, string, string), SetFromFlowInitiator(), SetFromOther(FlowDepartment), SetFromPosition(FlowPosition), SetFromVariable(Variable), SetManagerDepartment(FlowDepartment), ToLiquid()
Özellikler: Id (Int64), Code (string), Description (string), ValueType (FlowDepartmentValueType)
Kaynak olarak kullanıldığı yerler: FlowPosition.SetDepartmentManagerUserFromDepartment(FlowDepartment), Variable.SetFromDepartment(FlowDepartment), FlowAssign'ın Set*Department(...) ailesi.
Not: Bu nesne [dump-only] etiketlidir — sınıf ve üyeleri reflection dökümünden gerçek olarak doğrulanmış, ancak çalışma zamanı kullanım kalıbı örnekle teyit edilmemiştir.
Kaynak: synergy-csp references/flow-objects.md (FlowDepartment, dump-only) + _harvest/flow-knowledge.md.