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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.10.2011, 09:49   #1  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
"Инвентаризационный код" в группах инвентаризации и создание строк инвентаризации
Всем доброго времени суток!
Сейчас занимаюсь тестированием и исследованием функционала выполнения полной инвентаризации в системе Microsoft Dynamics Ax 2009. И как обычно не обходится без странностей...
Итак, речь пойдет о поле "Инвентаризационный код" и о создании строк в журнал инвентаризации.

Для начала маленький ввод в курс дела.
В Ax 2009 можно создавать инвентаризационные группы, к которым прикреплять номенклатуры. Это удобно когда, инвентаризация проходит поэтапно и в каждую инвентаризацию пересчитываются определенные номенклатуры.
В инвентаризационных группах есть поле "Инвентаризационный код" (пока у меня сложилось впечатление, что название поля не очень соответствует его смысловой нагрузке), в котором можно указать условие попадания в журнал инвентаризации номенклатур, входящих в группу.
Поле "Инвентаризационный код" - это перечисление. Все элементы этого перечисления обсуждать не будем, нас интересует код "Минимум"... Когда увидел этот код, сразу проскочила мысль: "Что это за условие такое? Какой такой минимум?".
Полез смотреть в код создания строк журнала номенклатур (класс InventCountCreate_Base) и там в методе doCounting() нашел то место, где "обыгрывается" этот код инвентаризации.
X++:
case InventCountCode::Minimum       :
            reqSetupDim = ReqSetupDim::newCovInventDimId(ReqSetup::newItemId(_inventSum.ItemId),_inventDim.reqCovDimId(InventTable::find(_inventSum.ItemId).DimGroupId));
            minimumParm.InventLocationIdFlag = NoYes::Yes;
            if (InventSumDatePhysicalDim::onHandQty(countDate,_inventSum.ItemId,_inventDim,minimumParm) <= reqSetupDim.minInventOnHand())
                return true;

            break;
Т.е. если при создании номенклатуры указана конкретная группа инвентаризации (а в ней указан код инвентаризации "Минимум"), и проставлена галка "Активировать код инвентаризации", то в инвентаризацию будут добавляться строки у которых остаток на дату инвентаризации меньше или равен МИНИМАЛЬНОМУ остатку товара на складе.

А теперь в чем собственно прикол
Минимальный остаток товара на складе (как видно из кода) настраивается в табличке "Покрытие номенклатуры" (ReqItemTable). Эта табличка относится к модулю "Сводное планирование"...
НО У МЕНЯ НЕ ВКЛЮЧЕН КОНФИГУРАЦИОННЫЙ КЛЮЧ модуля "Сводное планирования"!!!
Т.е. никак настроить этот "минимум" я не могу, но зато могу указать его как условие при добавлении строк в инвентаризацию в инвентаризационной группе!

На мой взгляд это баг, и разработчики Microsoft просто забыли (или я чего то не понимаю ) проставить конфигурационный ключ сводного планирования (Req) в элемент "Минимум" перечисления "Инвентаризационный код" (InventCountCode).
Миниатюры
Нажмите на изображение для увеличения
Название: создание строк инв.png
Просмотров: 556
Размер:	20.9 Кб
ID:	7204  
Изображения
   
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: mazzy (5), Pustik (3), S.Kuskov (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Метод "open" в COM-объекте класса "ADODB.Connection" возвратил код ошибки 0x80004005 (E_FAIL) Poleax DAX: Программирование 14 01.10.2013 14:15
Ошибка времени выполнения: В NumberSeqReference_Empl_RU (Объект), не найден исполнимый код метода "loadModule" Ksju DAX: Функционал 14 21.10.2009 13:00
Метод "SendMail" в COM-объекте класса "Dundas.mailer" возвратил код ошибки 0x80004005 (E_FAIL), который означает: The RCPT command failed. The specified account does not exist. Андрей К. DAX: Программирование 3 10.07.2009 16:08
Себестоимость при положительной инвентаризации "на лету" Varmen DAX: Функционал 4 30.05.2009 13:20
Ошибка "необходимо заполнить 'основной код сотрудника' " alpin DAX: Функционал 2 04.12.2003 16:28

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

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

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