Hi , below job will create Trade agreement in AX 2012.
static void idbExecutePricPriceDiscJourSvcJob(Args _args)
{
// PricePrice Vars
PricePriceDiscJournalService PriceDiscSvc;
PricePriceDiscJournal PriceDiscJour;
PricePriceDiscJournal_PriceDiscAdmTrans PriceDiscJourAdmTrans;
PricePriceDiscJournal_InventDim PriceDiscJourDim;
// keys return from create process
AifEntityKeyList keys;
PriceDiscSvc = PricePriceDiscJournalService::construct();
PriceDiscJour = new PricePriceDiscJournal();
PriceDiscJourAdmTrans = PriceDiscJour.createPriceDiscAdmTrans().addNew();
PriceDiscJourDim = PriceDiscJourAdmTrans.createInventDim().addNew();
// Set PriceDiscJourDim
PriceDiscJourDim.parminventDimId("your dim id");
// Set PriceDiscJourAdmTrans
// PriceDiscJourAdmTrans.parmInventDim().add(PriceDiscJourDim);
PriceDiscJourAdmTrans.parmItemRelation(InventTable::findByProduct( your product).ItemId);
PriceDiscJourAdmTrans.parmItemCode(TableGroupAll::Table);
PriceDiscJourAdmTrans.parmAmount(100.00);
PriceDiscJourAdmTrans.parmFromDate(today());
PriceDiscJourAdmTrans.parmAccountCode(TableGroupAll::All);
PriceDiscJourAdmTrans.parmrelation(PriceType::PriceSales);
PriceDiscJourAdmTrans.parmCurrency("USD");
// Post PriceDiscJour
keys = PriceDiscSvc.create(PriceDiscJour);
}
}
}
How ever , this will only create trade agreement .
If you want to post automatically, then you neeed to modify the "priceDiscAdmCheckPost" method of class
public void priceDiscAdmCheckPost()
{
PriceDiscAdmCheckPost priceDiscAdmCheckPost = new PriceDiscAdmCheckPost(false);//To make sure posting is happen
if (initNoErrorsInInfolog == infolog.num(Exception::Error))
{
priceDiscAdmCheckPost.initJournalNum(priceDiscAdmTable.JournalNum);
priceDiscAdmCheckPost.run();
}
}
static void idbExecutePricPriceDiscJourSvcJob(Args _args)
{
// PricePrice Vars
PricePriceDiscJournalService PriceDiscSvc;
PricePriceDiscJournal PriceDiscJour;
PricePriceDiscJournal_PriceDiscAdmTrans PriceDiscJourAdmTrans;
PricePriceDiscJournal_InventDim PriceDiscJourDim;
// keys return from create process
AifEntityKeyList keys;
PriceDiscSvc = PricePriceDiscJournalService::construct();
PriceDiscJour = new PricePriceDiscJournal();
PriceDiscJourAdmTrans = PriceDiscJour.createPriceDiscAdmTrans().addNew();
PriceDiscJourDim = PriceDiscJourAdmTrans.createInventDim().addNew();
// Set PriceDiscJourDim
PriceDiscJourDim.parminventDimId("your dim id");
// Set PriceDiscJourAdmTrans
// PriceDiscJourAdmTrans.parmInventDim().add(PriceDiscJourDim);
PriceDiscJourAdmTrans.parmItemRelation(InventTable::findByProduct( your product).ItemId);
PriceDiscJourAdmTrans.parmItemCode(TableGroupAll::Table);
PriceDiscJourAdmTrans.parmAmount(100.00);
PriceDiscJourAdmTrans.parmFromDate(today());
PriceDiscJourAdmTrans.parmAccountCode(TableGroupAll::All);
PriceDiscJourAdmTrans.parmrelation(PriceType::PriceSales);
PriceDiscJourAdmTrans.parmCurrency("USD");
// Post PriceDiscJour
keys = PriceDiscSvc.create(PriceDiscJour);
}
}
}
How ever , this will only create trade agreement .
If you want to post automatically, then you neeed to modify the "priceDiscAdmCheckPost" method of class
public void priceDiscAdmCheckPost()
{
PriceDiscAdmCheckPost priceDiscAdmCheckPost = new PriceDiscAdmCheckPost(false);//To make sure posting is happen
if (initNoErrorsInInfolog == infolog.num(Exception::Error))
{
priceDiscAdmCheckPost.initJournalNum(priceDiscAdmTable.JournalNum);
priceDiscAdmCheckPost.run();
}
}
Thanks for the post. But if you don't clear the infolog, it doesn't post.
ReplyDeleteinfolog.clear(); jourPost.initJournalNum(priceDiscAdmTrans.JournalNum);
jourPost.run();
How do you get the journal number just created with this code?
ReplyDeleteTrung tâm dạy kế toán Tại cầu giấy
ReplyDeleteTrung tâm dạy kế toán Tại từ liêm
Trung tâm dạy kế toán Tại thanh xuân
Trung tâm dạy kế toán Tại hà đông
Trung tâm dạy kế toán Tại long biên
Trung tâm dạy kế toán Tại nguyễn chính thanh đống đa
Trung tâm dạy kế toán Tại minh khai hai bà trưng
Trung tâm dạy kế toán Tại bắc ninh
Trung tâm dạy kế toán Tại hải phòng
Trung tâm dạy kế toán Tại tphcm
Trung tâm dạy kế toán Tại quận 3
Trung tâm dạy kế toán Tại thủ đức
Trung tâm dạy kế toán Tại đà nẵng
Trung tâm dạy kế toán Tại biên hòa
Trung tâm dạy kế toán Tại đồng nai
Trung tâm dạy kế toán Tại nam định
Trung tâm dạy kế toán Tại thái bình
Trung tâm dạy kế toán Tại bắc giang
Trung tâm dạy kế toán Tại vĩnh phúc
Trung tâm dạy kế toán Tại thái nguyên
Trung tâm dạy kế toán Tại quảng ninh
Trung tâm dạy kế toán Tại hải dương
Trung tâm dạy kế toán Tại hưng yên
Trung tâm dạy kế toán Tại hà nam
Trung tâm dạy kế toán Tại ninh bình
Trung tâm dạy kế toán Tại nghệ an
Trung tâm dạy kế toán Tại vũng tàu
trung tam ke toan tai binh duong
trung tam ke toan tai an giang
trung tam ke toan tai tien giang
trung tam ke toan tai can tho
I missed this part of the code to be able to post it from the job.
ReplyDelete// Post PriceDiscJour
keys = PriceDiscSvc.create(PriceDiscJour);
journalNum = keys.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(PriceDiscAdmTrans, JournalNum));
info(strFmt("%1", journalNum));
priceDiscAdmCheckPost = new PriceDiscAdmCheckPost(false);//To make sure posting is happen
priceDiscAdmCheckPost.initJournalNum(journalNum);
priceDiscAdmCheckPost.run();
Thanks this below code is saved a lot time
ReplyDeletejournalNum = keys.getEntityKey(1).parmKeyDataMap().lookup(fieldnum(PriceDiscAdmTrans, JournalNum));