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 naklijournalCheckPost = 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.
