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();
}
}
没有评论:
发表评论