RSS

Etiket arşivi: varsayılan sipariş ayarları

Tesise özgü varsayılan ambarın bulunması

Stok kartları üzerinde “tesise özgü sipariş ayalarında” tanımlı olan ambar bilgisini bulmaya yarayan bir kodtur.

// Changed on 19 Oca 2011 at 14:25:31 by mesut
//Ambar bazında takip edilen fakat satış sipariş satırında ambar kısmı boş olan
//Satırlar için tesise özgü varsayılan satış ambarının getirilmesi
static void findSalesLineInventLocationDim(Args _args)
{

 Inventdim           dim,newDim;
 Salesline           salesline;
 InventTable         inventTable;
 ;
 ttsbegin;
 while select forupdate salesline
 join dim
 where salesline.InventDimId  == dim.inventDimId
 &&    dim.InventLocationId == " "
 {

 inventTable = InventTable::find(salesline.ItemId);
 newDim.data(dim);

 newDim.InventLocationId      =  inventTable.inventItemOrderSetupMap(InventItemOrderSetupType::Sales,
                                 InventDim::findOrCreate(newDim).InventDimId).inventLocationId( newDim.InventLocationId,
                                                                                                inventTable,
                                                                                                newDim.InventSiteId);

     info(newDim.InventLocationId);
 }
 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

http://www.etg-it.com

 
Yorum yapın

Yazan: 19/01/2011 in 3S, Geliştirme, Genel

 

Etiketler: , ,

Varsayılan sipariş ayarları formunun boş gelmesi

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…
1
2

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

http://www.etg-it.com

 
Yorum yapın

Yazan: 30/11/2010 in 3S, Geliştirme

 

Etiketler: , , , ,

 
%d blogcu bunu beğendi: