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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.03.2008, 10:14   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Бага во внешнем польском складе
Решил посмотреть, что же это такое внешний склад и наткнулся на довольно глупую багу:

1. Создаем номенклатуру и разносим журнал "Внешний склад" на 10 штук
2. Создаем заказ на продажу на 1 штуку и выполняем операцию "Функции -> Закупка из внешнего склада".
3. На форме Внешние номенклатуры наблюдаем, что остаток по номенклатуре - 18 штук.

Произошло следующее:

После разноски журнала у нас появилась проводка прихода(PlInventTransExternal) на 10 штук, которая посредством перекрытого метода insert() изменила остатки (PlInventSumExternal) = 10 шт. Все ОК.

При создании "Закупки из внешнего склада" система сопоставляет расходную проводку с приходной (поле SetleRecId - именно с одной t). Для этого система разбивает проводку прихода на две - 1 и 9 штук (PlInventMovementExternal.externalIssue()). То есть, в данном случае система создаст две новых проводки ((-1) и 9 штук), а количество в приходной проводке 10 штук изменит на 1.

Изменение остатков происходит исключительно путем перекрытия методов insert() и update() на таблице проводок. Вставка новых проводок приведет к изменению остатков: 10 - 1 + 9 = 18 штук. Изменение существующей проводки 10 -> 1 на остатках никак не скажется ибо в методе PlInventMovementExternal.externalIssue делается receipt.doUpdate(). Правим на receipt.update().

Теперь у нас вызываеся PlInventTransExgternal.update(), который должен изменить остатки, но не меняет.... Не меняет потому, что наши славянские братья сначала дергают super(); в update(); а потом надеются в this.orig() найти изначальное кол-во, которое сами же и изменили. Переносим super() в конец метода и делаем вывод, что функционал попавший в официальную сборку mbs не прошел даже минимального тестирования. Наверное, тоже вертикальное решение регистрировали....

Если у кого-то есть доступ к более свежей версии ax, чем у меня(4.0.2214.0) - посмотрите, пожалуйста, было ли официальное исправление? Если нет - я зарегистрирую запрос.

Кстати, я правильно понимаю, что основное назначение данного функционала - это возможность сбыта узнать сколько товара они могут обещать клиенам, глядя на незарезервированные остатки на складах поставщика? Ну и доставка товара сразу от поставщика клиенту, хотя это уже никак к системе не относится. Или есть еще полезное применение?

И еще - mbs обновлял руководства пользователя со времен 3.0? Если да, то буду благодарен, если кто-то поделится ссылкой (можно на партнерский ресурс).
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как подцепить остатки на складе при создании дочерних Произв. заказов? e@gle DAX: Функционал 5 27.04.2007 15:04
Резервируется ли бюджет номенклатуры на складе? Kashesh DAX: Функционал 2 04.06.2005 00:17
Оверсолд на отдельно взятом складе Wobbler DAX: Функционал 0 10.11.2004 13:22
Про брак на складе ERx DAX: Функционал 2 15.08.2004 02:26
Красные остатки на складе ERx DAX: Функционал 7 01.07.2004 15:18
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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