Показать сообщение отдельно
Старый 04.12.2018, 20:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
d365technext: Project-Hour Journal D365FO
Источник: http://d365technext.blogspot.com/201...al-d365fo.html
==============


Project-Hour Journal D365FO



using following code you can create Project-Hour Journal




publicvoidcreateProjectHourJournal(ProjectJournalContract _projectJournal) // project hour journal
{
ProjJournalTableData JournalTableData;
ProjJournalTransData journalTransData;
ProjJournalTable journalTable, journalTableUpdate;
ProjJournalTrans journalTrans;
ProjTable projTable;
ProjInvoiceTable projInvoiceTable;
NumberSeq numberSeq;
ProjJournalCheckPost jourPost;
ProjQtyEmpl qty;
JournalNumOfLines numOfLines;
ProjCategory projCategory;
LedgerJournalName ledgerJournalName;
ProjectJournalTransContract projecJournalTrans;
// ProjLinePropertySetup projLinePropertySetup;
ProjJournalName projJournalName;


if(_projectJournal!=null)
{


select projJournalName
where projJournalName.isFSJournal==NoYes::Yes;


projecJournalTrans=_projectJournal.getProjectJournalTrans(0);

ttsBegin;
journalTableData = JournalTableData::newTable(journalTable);




journalTransData = journalTableData.journalStatic().newJournalTransData(journalTrans, journalTableData);




//select projLinePropertySetup
// where projLinePropertySetup.ProjCode==TableGroupAll::All
// && projLinePropertySetup.ProjRelation==projTable.ProjId;


projTable = ProjTable::find(projecJournalTrans.ProjectId);
// Init JournalTable
projCategory=ProjCategory::find(projecJournalTrans.ProjectCateId);

journalTable.JournalId = journalTableData.nextJournalId();


journalTable.JournalType = ProjJournalType::Hour;


journalTable.ProjId=projecJournalTrans.ProjectId;
journalTable.ProjQty=projecJournalTrans.QtyUsed;
journalTable.CategoryId=projecJournalTrans.ProjectCateId;
journalTable.ProjTransDate=systemDateGet();
//journalTable.LinePropertyId
journalTable.initFromProjJournalName(projJournalName);
journalTable.insert();



journalTableData.initFromJournalName(journalTableData.journalStatic().findJournalName(journalTable.JournalNameId));


journalTrans.clear();
journalTransData.initFromJournalTable();

projInvoiceTable = projTable.projInvoice();




journalTrans.setTransDate();
// journalTrans.TransDate = systemDateGet();
journalTrans.ProjTransDate = systemDateGet();
journalTrans.ProjId = projTable.ProjId;
journalTrans.Qty = projecJournalTrans.QtyUsed;
journalTrans.CategoryId = projCategory.CategoryId;
// journalTrans.LinePropertyId = projLinePropertySetup.LinePropertyId;
journalTrans.Worker = HcmWorkerLookup::currentWorker();
journalTrans.ActivityNumber = projecJournalTrans.ActivityId;
journalTrans.Txt = _projectJournal.FreeTxt;






if(projInvoiceTable.CurrencyId)
{
journalTrans.CurrencyId = projInvoiceTable.CurrencyId;
}


else
{
journalTrans.CurrencyId = Ledger::accountingCurrency(CompanyInfo::current());


}




journalTrans.DefaultDimension = projTable.DefaultDimension;
journalTrans.TaxGroupId = ProjParameters::taxGroupInvoice(projTable.ProjId);


if (journalTrans.Worker)
{
journalTrans.setHourPrices();
journalTrans.setPeriodDate();
}


numberSeq = NumberSeq::newGetVoucherFromId(journalTable.VoucherNumberSequenceTable, false);
journalTrans.Voucher = numberSeq.voucher();
journalTransData.create();


ttsCommit;



}


}



Источник: http://d365technext.blogspot.com/201...al-d365fo.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.