Bugün bazı stok kartları için varsayılan satış tesisini tanımlama ihtiyacı doğdu. Her zamanki gibi Stok yönetimi –> Madde ayrıntıları –> Kurulum butonu –> Varsayılan sipariş ayarları formunu açmak istedim. Fakat her seferinde boş bir ekranla karşılaşıyordum…
Daha sonra araştırmalarım sonucu bu stok kartlarının veri aktarımı ile gelen stok kartları olduğunu tespit ettim ve stok kartı veri aktarımı sırasında boş değerlerle veri atılması gereken InventItemPurchSetup (Madde satınalma sipariş ayarları),InventItemInventSetup(Madde stoksipariş ayarları), InventItemSalesSetup (Madde satış sipariş ayarları) tablolarına kayıt atılmadığını gözlemledim. Bu 3 tablodan herhangi birinde dahi kayıt bulunamazsa form yukardaki gibi açılmaktadır.
Bu tablolara aşağıdaki job ile ilgili boş değerleri oluşturduktan sonra sorun çözüldü.
job farklı kurallara göre tekrar düzenlenebilir.
// Changed on 30 Kas 2010 at 13:37:43 by mesut static void insertDefaultDimValues(Args _args) { InventTable inventTable; InventItemPurchSetup inventItemPurchSetup; InventItemInventSetup inventItemInventSetup; InventItemSalesSetup inventItemSalesSetup; InventDimId inventDimIdBlank = InventDim::inventDimIdBlank(); ; ttsbegin; //Satınalma için while select inventTable where inventTable.DimGroupId like "R*" notexists join inventItemPurchSetup where inventItemPurchSetup.ItemId == inventTable.ItemId && inventItemPurchSetup.InventDimId == inventDimIdBlank { inventItemPurchSetup.initValue(); inventItemPurchSetup.ItemId = inventTable.ItemId; inventItemPurchSetup.InventDimId = inventDimIdBlank; inventItemPurchSetup.InventDimIdDefault = inventDimIdBlank; inventItemPurchSetup.insert(); } //Stok için while select inventTable where inventTable.DimGroupId like "R*" notexists join inventItemInventSetup where inventItemInventSetup.ItemId == inventTable.ItemId && inventItemInventSetup.InventDimId == inventDimIdBlank { inventItemInventSetup.initValue(); inventItemInventSetup.ItemId = inventTable.ItemId; inventItemInventSetup.InventDimId = inventDimIdBlank; inventItemInventSetup.InventDimIdDefault = inventDimIdBlank; inventItemInventSetup.insert(); } //Satış için while select inventTable where inventTable.DimGroupId like "R*" notexists join inventItemSalesSetup where inventItemSalesSetup.ItemId == inventTable.ItemId && inventItemSalesSetup.InventDimId == inventDimIdBlank { inventItemSalesSetup.initValue(); inventItemSalesSetup.ItemId = inventTable.ItemId; inventItemSalesSetup.InventDimId = inventDimIdBlank; inventItemSalesSetup.InventDimIdDefault = inventDimIdBlank; inventItemSalesSetup.insert(); } ttscommit; }
NOT: Yazıda belirtilen kodun, değiştirilmeden veya değiştirilerek, development/test/canlı ortamlarında kullanılması sonucu oluşabilecek olumlu/olumsuz durumlarda tüm sorumluluk kodu kullanan kişiye aittir.
Mesut BOZTAŞ
Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi
İstanbul