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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.09.2009, 17:00   #1  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Проекты и Закрытие склада
Списание материалов на проект (Журнал Номенклатура). При закрытии склада или пересчете созаются проводки только в главной книге. В результате имеем расхождение по затратам в модуле проект и ГК.
Кто как решает эту проблему? Получается что затраты на проект не соответствуют действительности?
Старый 11.09.2009, 17:51   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Не должно так быть. Если у вас модуль закрытия склада не перепрограммирован, то при разноске коррекций в главную книгу, в классы создания проводок ГК должна попадать информация о коде проекта (и еще каких-то проектных параметрах - не помню). А при получении этой информации, классы создания проводок ГК еще и пишут данные в таблицы projCostTrans (Затраты по проекту - если я русское имя не забыл) и ProjTransPosting (Разноски по проекту). Вот таким вот странным образом сделана интеграция ГК и затрат по проекту в Аксапте.
Только все это в теории - судя по коду Сам я так делать не пробовал, вполне возможно что при локализации что-то сломали. Попробуйте прогнать пример на стандартном приложении. Если проблема воспроизведется - эскалируйте ошибку.
Старый 14.09.2009, 16:43   #3  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от fed Посмотреть сообщение
Не должно так быть. Если у вас модуль закрытия склада не перепрограммирован, то при разноске коррекций в главную книгу, в классы создания проводок ГК должна попадать информация о коде проекта (и еще каких-то проектных параметрах - не помню). А при получении этой информации, классы создания проводок ГК еще и пишут данные в таблицы projCostTrans (Затраты по проекту - если я русское имя не забыл) и ProjTransPosting (Разноски по проекту). Вот таким вот странным образом сделана интеграция ГК и затрат по проекту в Аксапте.
Только все это в теории - судя по коду Сам я так делать не пробовал, вполне возможно что при локализации что-то сломали. Попробуйте прогнать пример на стандартном приложении. Если проблема воспроизведется - эскалируйте ошибку.
На моем окружении этот алгоритм не работает. В табливы proj ничего не пишется.
Может подскажите место в классах Аксапты, где это должно выполняться?
Старый 14.09.2009, 16:53   #4  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Класс inventAdjustPost. Проверьте логику создания объекта класса ProjLedger. Кроме того - посмотрите - заполняются ли в складских проводках списания по проекту поля ProjId и ProjAdjustRefId.
За это сообщение автора поблагодарили: ena_ax (1).
Старый 16.09.2009, 15:10   #5  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от fed Посмотреть сообщение
Класс inventAdjustPost. Проверьте логику создания объекта класса ProjLedger. Кроме того - посмотрите - заполняются ли в складских проводках списания по проекту поля ProjId и ProjAdjustRefId.

Версия kernel 4.0.2501.116
Appl - 4.0.2501.347

Класс inventAdjustPost не модифицированный. В методе updateTrans_RU есть такой код.

X++:
if (conpeek(me.currentKey(), 8))
        {
            projLedger = this.newProjLedger_RU(conpeek(me.currentKey(), 9),
                                               conpeek(me.currentKey(), 10),
                                               conpeek(me.currentKey(), 11),
                                               conpeek(me.currentKey(), 12),
                                               conpeek(me.currentKey(), 13));
        }
Восьмой элемент в контейнере - это признак сторно и к проектам никакого отношения не имеет.
Смотрим инициализацию контейнера в методе updateMap_RU
X++:
cont = [_inventSettlement.BalanceSheetPosting,
                            _inventSettlement.OperationsPosting,
                            _inventSettlement.BalanceSheetAccount,
                            _inventSettlement.OperationsAccount,
                            _inventSettlement.Dimension,
                            currencyCode,
                            InventTable::find(_inventSettlement.ItemId).inventModelGroup().StandardCost,
                            _inventTrans.Storno_RU,
                            _inventTrans.Qty > 0];
        if (_inventTrans.ProjId)
        {
            cont += [_inventTrans.ProjId,
                     _inventTrans.ProjCategoryId,
                     _inventTrans.InventTransId,
                     _inventTrans.ProjAdjustRefId,
                     _inventTrans.ItemId];
        }
ТАкое ощущение что при локализации (когда делали сторно по складу) сломали функционал.

Коллеги, а у вас какой код в приведенном месте?

Может и проводки с признаком сторно будут неправильно закрываться?

Последний раз редактировалось ena_ax; 16.09.2009 в 15:15.
Старый 16.09.2009, 15:39   #6  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
если внести исправление (см. ниже), то по крайней мере с суммами по проектам все хорошо. при коррекции проводок по списанию, затраты по проектам тоже корректируются.
X++:
if (conpeek(me.currentKey(), 10))
        {
            projLedger = this.newProjLedger_RU(conpeek(me.currentKey(), 10),
                                               conpeek(me.currentKey(), 11),
                                               conpeek(me.currentKey(), 12),
                                               conpeek(me.currentKey(), 13),
                                               conpeek(me.currentKey(), 14));
        }
Но вот сомнения относительно остального кода остались...
Старый 16.09.2009, 20:42   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Когда год назад добавляли сторно по складу, добавили новый элемент в map. А в if() для вытаскивания кода проекта забыли добавить сдвиг на один элемент. Так что ваша правка верная -- будет работать.В версии 2009 ее исправили - я посмотрел. Возможно в поздних сервиспаках 4ки - тоже исправили.
Старый 17.09.2009, 08:17   #8  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от fed Посмотреть сообщение
Когда год назад добавляли сторно по складу, добавили новый элемент в map. А в if() для вытаскивания кода проекта забыли добавить сдвиг на один элемент. Так что ваша правка верная -- будет работать.В версии 2009 ее исправили - я посмотрел. Возможно в поздних сервиспаках 4ки - тоже исправили.
Помимо изменения в условии IF(), еще и на 1 сдвинулись параметры в методе newProjLedger_RU.

Спасибо за участие в решении проблемы, очень помогли.
Теги
ax2009, ax4.0, закрытие склада, номенклатура, проводки главной книги, управление проектами

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Закрытие склада. Пересчет себестоимости в журналах переноса. PavelM DAX: Функционал 4 31.07.2008 12:37
И снова закрытие склада... Apriori DAX: Функционал 3 21.01.2008 10:03
Закрытие склада. Параметр "Спецификация" DenWolf DAX: Функционал 0 05.06.2006 14:46
Закрытие склада в основной и вторичной валюте, отключенная корреспонденция счетов May DAX: Функционал 1 02.04.2004 13:25
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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