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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.06.2007, 10:13   #1  
Spiker is offline
Spiker
GMCS
Сотрудники компании GMCS
 
6 / 10 (1) +
Регистрация: 07.06.2007
Адрес: Пенза
! Вопрос по резервированию
Вопрос в следующем...
В аксапте ведется партионный учет товара. У одной номенклатуры на момент времени X в наличии 2 партии товара. Используется модель FIFO. т.е. по хорошему Аксапта должна полностью выбрать всю партию 1, а потом начать выбирать партию 2, т.к. партия 1 исторически возникла раньше партии 2. Но на деле не совсем так. Расход идет попеременно то из партии 1, то из партии 2. Анализ проводок привел к мысли о том, что из за частых корректировок даты на которые ориентируется система при резервировании обновляются.
Исследование кода позволило обнаружить причину...
в классе InventUpd_Reservation, в методе updateReserveMore()
создается query по запасам в наличии (InventSum), в запросе сортировка идет по полю InventSum.LastUpdDatePhysical ASC
Данное поле обновляется в InventSum\Methods\addInventTransOnSum

X++:
if ( ! inventTrans.isTransfer() )
        {
            if (inventTrans.DatePhysical)
                this.LastUpdDatePhysical = inventTrans.DatePhysical;
            else
            if (inventTrans.DateInvent)
                this.LastUpdDatePhysical = inventTrans.DateInvent;
            else
            if (inventTrans.DateExpected)
                this.LastUpdDateExpected = inventTrans.DateExpected;
        }
        else
        {
            inventDimIssue = this.inventDimTransferIssue(inventTrans);
            if (inventDimIssue && inventDimIssue.inventDimId != inventTrans.inventDimId)
            {
                inventSumIssue = inventSum::find(inventTrans.ItemId,inventDimIssue.inventDimId);
                if (inventSumIssue.RecId)
                {
                    this.LastUpdDateExpected = inventSumIssue.LastUpdDateExpected;
                    this.LastUpdDatePhysical = inventSumIssue.LastUpdDatePhysical;
                }
            }

        }
вопрос в том, если разрешить изменение только если дата пустая, т.е. в первый раз. что бы аксапта не трогала партию 2, не выбрав поностью партию 1.
На чем это может еще отразиться?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по возвратам soad DAX: Функционал 2 24.07.2008 13:04
Вопрос по перегрузке лукапа поля прям на таблице HorrR DAX: Программирование 3 03.06.2008 18:02
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 19.03.2004 10:28

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

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

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