04.12.2018, 20:11
|
#1
|
Участник
|
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, напишите личное сообщение администратору.
|
|