Dynamics AX’ta Kodla Transfer Günlüğü Oluşturmak

AX projelerinde herhangi bir işlem sonrasında otomatik olarak transfer günlüğü oluşturma ve deftere nakletme işlemine ihtiyaç duyabiliriz. Transfer günlüğü formu üzerinden yapılan bu işlemi aşağıdaki örnek kodu kullanarak kolayca X++ ile de yapabiliriz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
static void CreateTransferJournal(Args _args)
{
    
InventJournalTable inventJournalTable;
InventJournalTrans inventJournalTrans;
JournalCheckPost journalCheckPost;
NumberSeq num;
boolean _throwserror=true;
boolean _showinforesult=true;
InventDim frominventDim,ToinventDim;
;
ttsbegin;
inventJournalTable.clear();
num = new NumberSeq();
num = NumberSeq::newGetNum
(InventParameters::numRefTransferId());
    
//Transfer günlüğünün başlık kaydı
inventJournalTable.initFromInventJournalName(InventJournalName::find
(InventParameters::find().TransferJournalNameId));
inventJournalTable.Description = "Inventory transfer journal";
inventJournalTable.SystemBlocked = true;
inventJournalTable.insert();
    
//Trasfer günlüğü satır kaydı
inventJournalTrans.clear();
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.ItemId = "I-SD-F";
frominventDim.InventLocationId="11";
frominventDim.inventSiteId ="1";
ToinventDim.InventLocationId = "13";
ToinventDim.InventSiteId = "1";
ToinventDim = InventDim::findOrCreate(ToinventDim);
frominventDim = InventDim::findOrCreate(frominventDim);
inventJournalTrans.InventDimId = frominventDim.inventDimId;
inventJournalTrans.initFromInventTable(InventTable::find("I-SD-F"));
inventJournalTrans.Qty = 8;
inventJournalTrans.ToInventDimId = ToinventDim.inventDimId;
inventJournalTrans.TransDate = SystemDateget();
inventJournalTrans.insert();
    
//Transfer günlüğü deftere nakli
journalCheckPost = InventJournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post, inventJournalTable);
journalCheckPost.parmThrowCheckFailed(_throwserror);
journalCheckPost.parmShowInfoResult(_showinforesult);
journalCheckPost.run();
inventJournalTable.SystemBlocked = false;
inventJournalTable.update();
ttscommit;
    
}

Bu örnekte tek satırlı bir günlük oluşturduk. İstenirse “Transfer günlüğü satır kaydı” kısmında birden fazla satırlı kayıt oluşturulabilir.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s