AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.09.2007, 12:23   #1  
Ингар is offline
Ингар
Сотрудник SMART business
Аватар для Ингар
Сотрудник Innoware
MCBMSS
Злыдни
 
35 / 11 (1) +
Регистрация: 08.01.2005
Адрес: Киев
Добавочные проводки по накладной на Заказ клиента
Проблема следующая - жизненная необходимость заставляет формировать дополнительные проводки при разноске накладной по Заказу клиента.

Все было бы красиво и хорошо, если бы проводки которые были добавлены к voucher там бы и остались.
А именно - при разноске накладной добавляется пара проводок которая повязывается между собой бондом.
Но видимо в дальнейшем эта пара проводок для заказа пересматривается, так как в документе ГК по заказу этих проводок нет, но есть их следы (различная аналитика на дебетовой и кредитовой проводках).
Аналогичная схема доп.проводок примененная на Закупке привела к 100% успеху.
Вопрос - кто-то с таким сталкивался? А то Axapta уже пожрала мой моск, пока я пытался обозначить проблемное место...
Используется 3.0 SP3
__________________
С уважением,
Игорь "Ингар" Ильяшенко
Старый 03.09.2007, 12:57   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Вопрос - что за проводки ? По какой части закупки они образуются - по списанию номенклатуры со склада, по задолженности клиента, по налогам ?
Где вы делали их добавление ?

После ответа на эти вопросы будет яснее , где что и как ...
Старый 03.09.2007, 13:20   #3  
Ингар is offline
Ингар
Сотрудник SMART business
Аватар для Ингар
Сотрудник Innoware
MCBMSS
Злыдни
 
35 / 11 (1) +
Регистрация: 08.01.2005
Адрес: Киев
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Вопрос - что за проводки ? По какой части закупки они образуются - по списанию номенклатуры со склада, по задолженности клиента, по налогам ?
Где вы делали их добавление ?

После ответа на эти вопросы будет яснее , где что и как ...
Проводки
По списанию номенклатуры
Отражают внутрихолдинговые затраты (счет-в-счет с разной аналитикой)
Добавление - updateLedgerPhysical класса InventMovent
с условием mustBeBookedPhysicallyIntercompany(новодобавленное) для класса InvMov_Sales
Два раза _ledgerVoucher.addTrans с соответсвующими параметрами и суммами
Сразу после этого - подвязка бондом.

И что, собака, характерно, при обработке по addTrans проходит - как дети в школу. Счета правильные, аналитика - как должна быть, а в результате проводок нет и только и видно что разная аналитика в проводках по 36 и 73...
__________________
С уважением,
Игорь "Ингар" Ильяшенко
Старый 03.09.2007, 14:15   #4  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
1) InventMovement и его разноску трогать - IMHO, слишком грубо, там только то, что является общим для ВСЕХ типов движения номенклатуры. Мы поначалу тоже туда полезли, но вовремя спохватились и перенесли в переопределенные у соотвествующих потомков методы.
2) Все корректно выполнено с добавкой проводки? ledgerBondClient'у добавили новый объект (методом addNewLogObject), потом добавили проводку (2 записи), потом ledgerBondClient'ом скорреспондировали и очистили лог ledgerBondClient'а ?

P.S. про протоколирование разноски движения номенклатуры в InventTransPosting не забудьте В противном случае в момент пересчета/закрытия склада Вы по счетам второй проводки можете суммовой дисбаланс получить.
Старый 03.09.2007, 14:26   #5  
Ингар is offline
Ингар
Сотрудник SMART business
Аватар для Ингар
Сотрудник Innoware
MCBMSS
Злыдни
 
35 / 11 (1) +
Регистрация: 08.01.2005
Адрес: Киев
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
1) InventMovement и его разноску трогать - IMHO, слишком грубо, там только то, что является общим для ВСЕХ типов движения номенклатуры. Мы поначалу тоже туда полезли, но вовремя спохватились и перенесли в переопределенные у соотвествующих потомков методы.
2) Все корректно выполнено с добавкой проводки? ledgerBondClient'у добавили новый объект (методом addNewLogObject), потом добавили проводку (2 записи), потом ledgerBondClient'ом скорреспондировали и очистили лог ledgerBondClient'а ?

P.S. про протоколирование разноски движения номенклатуры в InventTransPosting не забудьте В противном случае в момент пересчета/закрытия склада Вы по счетам второй проводки можете суммовой дисбаланс получить.
Странно, но может просто у меня сложилось такое впечатление, для движения мы на классе определяем какая разноска у нас должна сработать для нашего журнала, а сам процесс разноски производится в родительском.
Или вы перегружали метод и сначала super(), а потом уже свои модификации? Хм.. Так действительно долно получится элегантнее.

Хм... ledgerBondClient - проверю вечерком. Определенно - там сделал не так. Вяжемся на существующий и связываю две последние добавленные. Спасибо.
__________________
С уважением,
Игорь "Ингар" Ильяшенко
Старый 04.09.2007, 07:22   #6  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Поглядите в стандартной части насчет ledgerBondClient'а, как там корреспондируются проводки в ГК после каждой пары вызовов _ledgerVoucher.addTrans().
А насчет места размещения разноски - смотрите, Ваше дело. Просто вызов Вашего метода mustBeBookedPhysicallyIntercompany() для проверки, насколько я понимаю, находится в методе разноски у родительского класса и будет выполняться у всех потомков, не имеющих переопределения этого метода разноски.
За это сообщение автора поблагодарили: Ингар (1).
Старый 04.09.2007, 11:12   #7  
Ингар is offline
Ингар
Сотрудник SMART business
Аватар для Ингар
Сотрудник Innoware
MCBMSS
Злыдни
 
35 / 11 (1) +
Регистрация: 08.01.2005
Адрес: Киев
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Поглядите в стандартной части насчет ledgerBondClient'а, как там корреспондируются проводки в ГК после каждой пары вызовов _ledgerVoucher.addTrans().
А насчет места размещения разноски - смотрите, Ваше дело. Просто вызов Вашего метода mustBeBookedPhysicallyIntercompany() для проверки, насколько я понимаю, находится в методе разноски у родительского класса и будет выполняться у всех потомков, не имеющих переопределения этого метода разноски.
Уже посмотрел и собезьяничал. Заодно поправил в других таких же своих кусках. Спасибо.

Да. В методе разноски. Но он определен в родителе и для родителя и всех его потомков он по умолчанию - false. В потомках для которых необходимо произвести данный вид разноски он "перегружен" и возвращает true.
Таким образом мне для того что бы добавить такую же разноску по еще одному журналу достаточно для класса журнала "взвести" этот признак.
__________________
С уважением,
Игорь "Ингар" Ильяшенко
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Бухгалтерские проводки по отборочной накладной PMS DAX: Функционал 12 24.04.2012 13:45
Заказ на продажу и складские проводки. DAX 4 SP1 EE Daiver DAX: Функционал 6 04.07.2008 10:38
По каким счетам формируются проводки в ГК при обработке накладной? matew DAX: Программирование 1 12.10.2007 13:30
По каким счетам формируются проводки в ГК при обработке накладной? matew DAX: Функционал 5 11.10.2007 17:50
Разноска операций Закупка, Заказ по счетам ГК по отборочной накладной. Как настроить? May DAX: Функционал 5 01.08.2003 11:13

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:37.