19.12.2018, 23:17
|
#1
|
Участник
|
d365technext: Project Item Journal D365FO
Источник: http://d365technext.blogspot.com/201...al-d365fo.html
==============
Project Item Journal D365FO
Using below code you can create the project item journal.
publicvoidcreateProjectInventJournal(ProjectJournalContract _projectJournal)
{
InventDim inventDim;
InventJournalName InventJournalName;
InventJournalTable inventJournalTable;
InventJournalTableData journalTableData = JournalTableData::newTable(inventJournalTable);
InventTable inventTable;
ProjTable projTable;
AWCFieldServIntegrtionMainAccount ServiceOffsetAccount=this.findServiceMainAccount(AWCFieldServiceIntegrationType::ProjectItem);
ProjectJournalTransContract journalTransContract;
if(_projectJournal.getProjectJournalTransCount()==0)
{
return;
}
journalTransContract = _projectJournal.getProjectJournalTrans(0);
select projTable
whereprojTable.ProjId==journalTransContract.ProjectId;
select inventTable
whereinventTable.itemId==journalTransContract.ItemId;
select InventJournalName
where InventJournalName.JournalType==InventJournalType::project
&& InventJournalName.isFSJournal==NoYes::Yes;
inventJournalTable.JournalId = journalTableData.nextJournalId();
inventJournalTable.JournalType=InventJournalType::project;
journalTableData.initFromJournalName(InventJournalName);
inventJournalTable.insert();
InventJournalTrans inventJournalTrans;
InventJournalTransData journalTransData = journalTableData.journalStatic().newJournalTransData(inventJournalTrans, journalTableData);
journalTransData.initFromJournalTable();
inventJournalTrans.TransDate = today();
inventJournalTrans.ProjId =journalTransContract.ProjectId;
inventJournalTrans.ProjCategoryId = journalTransContract.ProjectCateId;
inventJournalTrans.initFromProjTable(projTable);
inventJournalTrans.initFromInventTable(inventTable);
inventJournalTrans.Qty = journalTransContract.QtyUsed;
inventJournalTrans.PriceUnit = journalTransContract.CostPrice;
inventJournalTrans.ProjUnitID = journalTransContract.Unit;
inventJournalTrans.Worker = HcmWorkerLookup::currentWorker();
inventJournalTrans.LedgerDimension = LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountRecId(MainAccount::findByMainAccountId(ServiceOffsetAccount.MainAccountId).RecId);
inventJournalTrans.activityNumberModified();
inventDim.clear();
inventDim.InventSiteId = journalTransContract.Site;
inventDim.InventLocationId =journalTransContract.Location;
inventDim.wMSLocationId = journalTransContract.Warehouse;
inventJournalTrans.InventDimId = inventDim::findOrCreate(inventDim).inventDimId;
//other fields
journalTransData.create();
}
Источник: http://d365technext.blogspot.com/201...al-d365fo.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
|
|