![]() |
#1 |
Участник
|
D365 программно создать строки общего журнала и разнести
D365(Ax7) Upd10
Добрый вечер, подскажите пожалуйста, как программо создать и разнести строки общего журнала. |
|
![]() |
#2 |
Боец
|
Так же как и в 2012. Не работает?
|
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
![]() |
#3 |
Участник
|
Нет ,не работает
'AxdDimensionUtil' is obsolete: ''This class is no longer supported, use the DimensionResolver classes.''. DimensionResolver не понятно как использовать. DimensionStorage::getDynamicAccount тоже нельзя использовать,такого метода нет Последний раз редактировалось Aquarius; 02.11.2017 в 01:55. |
|
![]() |
#4 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: dech (1), Aquarius (1). |
![]() |
#5 |
Участник
|
В 2012 то при сомнениях как заполнять поле можно было посмотреть write ссылки на него, в D365 от этого излишества избавились(ну или надо много раз кликать), ну т.е. да, пока работает способ предложенный skuull, но думаю с 7.3 он тоже потеряет актуальность из за глобального рефакторинга.
В 7.2 пока правда можно посмотреть ссылки на ledgerJournalTrans.insert |
|
![]() |
#6 |
Участник
|
Я нашел достаточно много примеров (например "/Classes/RetailTransactionServiceOrders/Methods/createReturnOrder", "/Classes/TMSInvoiceApproval") быстро посмотрев где используется класс LedgerJournalCheckPost.
PS: Не гарантирую качество примеров, т.к. не верю в префиксы Retail и TMS. |
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
![]() |
#7 |
Участник
|
Или "DimensionResolver" или "DimensionStorage". Последний вроде бы работает как и в AX 2012. Если есть конкретные вопросы - спрашивайте.
|
|
![]() |
#8 |
Участник
|
|
|
![]() |
#9 |
Banned
|
X++: journalTrans.initValue(); journalTrans.JournalNum = journalNum; ... journalTrans.AccountType = LedgerJournalACType::Project; journalTrans.LedgerDimension = this.getLedgerDim(LedgerJournalACType::Project, curExt(), projId); journalTrans.AmountCurDebit = costAmount; journalTrans.DefaultDimension = LedgerJournalEngine::initDefaultDimensionServer(journalTrans); ... public RefRecId getLedgerDim(LedgerJournalACType _accountType, DataAreaId _dataAreaId, DimensionValue _accountId) { RefRecId ledgerDimension; DictEnum dictEnum = new DictEnum(enumNum(LedgerJournalACType)); DimensionDynamicAccountServiceProvider dimensionDynamicAccountServiceProvider; DimensionDynamicAccountContract dimensionDynamicAccountContract = new DimensionDynamicAccountContract(); dimensionDynamicAccountContract.parmCompany(_dataAreaId); dimensionDynamicAccountContract.parmAccountType(_accountType); DimensionAttributeValueContract ledgerContract = DimensionAttributeValueContract::construct(dictEnum.value2Label(_accountType), _accountId); dimensionDynamicAccountContract.parmPrimaryDimensionAttributeValue(ledgerContract); dimensionDynamicAccountServiceProvider = DimensionDynamicAccountServiceProvider::newForDynamicAccountContract(dimensionDynamicAccountContract); DimensionStorageResult dimensionStorageResult = dimensionDynamicAccountServiceProvider.resolve(); switch(dimensionStorageResult.parmStatus()) { case DimensionStorageResultStatus::Valid: ledgerDimension = dimensionStorageResult.parmSavedRecId(); break; default: error(strFmt("blah-blah-blah-blah-bla", dimensionStorageResult.parmStatus())); break; } return ledgerDimension; } |
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
![]() |
#10 |
Участник
|
Цитата:
да и this.getLedgerDim() можно просто заменить на стандартную journalTrans.parmAccount() Да и вообще самое сложное - это присвоить ваучер, это кстати хорошая задача для собеседования Последний раз редактировалось trud; 02.11.2017 в 15:44. |
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
![]() |
#11 |
Banned
|
Цитата:
Сообщение от trud
![]() здесь кстати потенциальная ошибка, часть полей(типа всяких условий оплат и профилей) инициализируются в момент изменения счета.
да и this.getLedgerDim() можно просто заменить на стандартную journalTrans.parmAccount() Да и вообще самое сложное - это присвоить ваучер, это кстати хорошая задача для собеседования 2) Точно, journalTrans.parmAccount() 3) Ваучер обычно присваиваем через JournalTableData. |
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
![]() |
#12 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Aquarius (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|