Olá Pessoal,
Tudo bem?
Precisei criar um diário de contrato de preço/desconto no Microsoft Dynamics AX 2012 via X++. Estou compartilhando com vocês caso venham a precisar.
private PriceDiscAdmTable createPriceDiscAdmTable(){ PriceDiscAdmName priceDiscAdmName; journalName = ProdImportDataStandardLESI::find().JournalName; if(journalName){ priceDiscAdmName = PriceDiscAdmName::find(journalName); if(priceDiscAdmName){ priceDiscAdmTable.clear(); priceDiscAdmTable.initFromPriceDiscAdmName(priceDiscAdmName); if(priceDiscAdmTable.validateWrite()){ priceDiscAdmTable.insert(); }}else{throw error ('O nome do diário de preço e desconto informado não existe'); }}else{throw error ('O nome do diário de preço e desconto não foi parametrizado'); } return priceDiscAdmTable; } privatevoid createPriceDiscAdmTrans(ItemId _itemId, AmountCur _amountValue, PriceDiscAdmTable _priceDiscAdmTable){ PriceDiscAdmTrans priceDiscAdmTransLocal; str accountRelation; TableGroupAll accountCode; TableGroupAll itemCode; InventDim inventDim; TransDate fromDateLocal; TransDate toDateLocal; str itemRelation; itemCode = TableGroupAll::Table; itemRelation = _itemId; inventDim.InventSiteId='001'; inventDim = inventDim::findOrCreate(inventDim); fromDateLocal =today(); priceDiscAdmTransLocal.clear(); priceDiscAdmTransLocal.initValue(); priceDiscAdmTransLocal.JournalNum= _priceDiscAdmTable.JournalNum; if(moduleInventCustVend == ModuleInventCustVend::Vend){ priceDiscAdmTransLocal.relation= PriceType::PricePurch; accountCode = TableGroupAll::Table; accountRelation ='000012'; }elseif(moduleInventCustVend == ModuleInventCustVend::Cust){ priceDiscAdmTransLocal.relation= PriceType::PriceSales; accountCode = TableGroupAll::All; accountRelation =""; } priceDiscAdmTransLocal.AccountCode= accountCode; priceDiscAdmTransLocal.AccountRelation= accountRelation; priceDiscAdmTransLocal.initFromAccountCode(); priceDiscAdmTransLocal.ItemCode= itemCode; priceDiscAdmTransLocal.ItemRelation= itemRelation; priceDiscAdmTransLocal.initFromItemCode(); priceDiscAdmTransLocal.InventDimId= inventDim.inventDimId; priceDiscAdmTransLocal.Amount= _amountValue; priceDiscAdmTransLocal.FromDate= fromDateLocal; priceDiscAdmTransLocal.ToDate= toDateLocal; if(!priceDiscAdmTransLocal.Currency){ priceDiscAdmTransLocal.Currency= CompanyInfo::standardCurrency(); } priceDiscAdmTransLocal.insert(); } |