Page History
Kullanıcı tanımlı iş kuralları ile Backoffice üzerinden, pop-up seçim (browser) ya da değer giriş formlarıyla veri giriş/seçim yapılmasından sonra, alınan değerin bir kural ile çalıştırılarak, işlem yapılmasını sağlayan kullanıcı tanımlı (etkileşimli) iş kuralı çalıştırma özelliği ürünümüze eklenmiştir.
Bu özellik, sevkiyat Planlama gibi fişlerde yoğunlukla kullanılan personel atama, peron atama, araç atama ya da öncelik belirleme gibi işlemlerin kullanıcı etkileşimli iş kurallarıyla yapılabilmesi amacıyla geliştirilmiştir.
Planlama fiş satırlarına personel atama işleminin iş kurallarıyla nasıl yapılacağının işlem adımları aşağıda sıralanmıştır.
1. Sistem işletmeni ekranından İş kuralları formu açılır.
Anchor
Işlem de İşlemde seçilir.
Seçim Formu: Kullanıcı, Adres, Araç browserlarının popup liste ekranlarının açılır pencere (pop-up) olarak açılıp seçim yapılmasını sağlar. Değer giriş Formu: Metin, Tam Sayı, NumericNumerik, Tarih tipinden popup pop-up açılacak ekrandan değer girilmesini sağlar.
...
2.Sağ tık ile kullanıcı tanımlı kural
...
çalıştırma menü seçeneğinde görünecek kural ismi Kural Adı bölümüne yazılır. (Planlama Satır Kullanıcı Belirle)
...
3.Kural 1. Satırında İşlem türü olarak Seçim Formu seçilir ardından Detaylar bölümünden Kullanıcı
...
liste ekranının (browser) açılması için "Kullanıcı" listeden seçilir. Kural Sonucu Başarılıysa
...
onay işareti işaretlenir.
...
4.Scrip editörden Rule scripti açılarak bu kod parçası scripte eklenir.
...
Ekrandan seçilen değer {Actions.1.RuleResponse} içinde kuralda kullanılır.
Bu script Planlama fiş satırlarınında satırlarında dönerek planlama fiş satırlarının AssignTo alanına browserdan liste ekranından (browser) seçilen kullanıcıyı yazar. BeginForm(PlanlamaSatırlarıKullaniciBelirle)
Set(@userId, {Actions.1.RuleResponse})
If(@userId != "")
For(@i,1,@GridSelectList.rowCount,1)
Warehouse.Get(@[email protected])
PlanningSlip.Get(@[email protected])
If(@@PlanningSlip!="")
PlanningSlipLine.List("SlipId=@@PlanningSlip.Id", "" , @PlanningSlipLine)
For(@k,1,@PlanningSlipLine.rowCount,1)
PlanningSlipLine.Get(@[email protected])
If(@@PlanningSlipLine!="")
User.Get(@userId)
PlanningSlipLine.Save()
EndIf()
Next()
EndIf()
Next()
EndIf()
ExitForm:
Set(@test,1)
EndForm()
...
5.Kural tanımının 2. Satırına "Ön Koşulu" 1. Eylem, "Durumu" Başarılıysa seçilerek, "İşlem Türü" Komut çalıştır olarak belirlenir.
...
Detaylardan PlanlamaSatirlariKullaniciBelirle seçilerek kural işletme adım tanımları tamamlanır.
...
6.Belirlenen kuralın nerede çalışacağını belirlemek için ""Menüye Eklle" işaretlenir, Listeden kuralın nereye bağlanacağı seçilir ""Planlama Fişi"
Planlama browserında seçilen planlama'nın liste ekranında (browser) seçilen planlamanın satırları için bu kural çalıştırılacaktır.
Bu kuralı değiştirerek planlama fiş satırlarına bağlayarakta bağlayarak da satır bazında seçimle çalıştırmakta mümkündür.
Anchor
Anchor
Planlama fişi satırlarında incele modunda öncelik belirlemek için örnek kural; BeginForm(PlanlamaSatirlariOncelikBelirle)
Set(@Oncelik, {Actions.1.RuleResponse})
If(@Oncelik != "")
For(@i
,1,@GridSelectList.rowCount,1)
Warehouse.Get(@[email protected])
If(@@Warehouse!="")
PlanningSlip.Get(@[email protected])
PlanningSlipLine.Get(@[email protected])
If(@@PlanningSlipLine!="")
PlanningSlipLine.Set({"Priority": "@Oncelik"})
PlanningSlipLine.Save()
EndIf()
EndIf()
Next()
EndIf()
ExitForm:
Set(@test,1)
EndForm()
Planlama browserında
Planlama liste ekranında Araç atama için örnek kural ;
BeginForm(PlanlamaAracBelirle)
Set
(@VehicleId, {Actions.1.RuleResponse})
If(@VehicleId != "")
For(@i,1,@GridSelectList.rowCount,1)
Warehouse.Get(@[email protected])
If(@@Warehouse!="")
PlanningSlip.Get(@[email protected])
If(@@PlanningSlip!="")
Vehicle.Get(@VehicleId)
Warehouse.Get(@@PlanningSlip.WarehouseId)
PlanningSlip.Save()
EndIf()
EndIf()
Next()
EndIf()
ExitForm:
Set(@test,1)
EndForm() Anchor
Planlama fişi satırlarında incele modunda kullanıcı atama BeginForm(PlanlamaSatirlariKullaniciBelirle)
Set(@userId, {Actions.1.RuleResponse})
If(@userId != "")
For(@i,1,@GridSelectList.rowCount
,1)
Warehouse.Get(@[email protected])
If(@@Warehouse!="")
PlanningSlip.Get(@[email protected])
PlanningSlipLine.Get(@[email protected])
If(@@PlanningSlipLine!="")
User.Get(@userId)
PlanningSlipLine.Save()
EndIf()
EndIf()
Next()
EndIf()
ExitForm:
Set(@test,1)
EndForm()