Показать сообщение отдельно
Старый 03.10.2016, 12:45   #1  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
! Резервирование в WMS с пропуском аналитики ГТД
При резервирование номенклатуры с использованием WMS в AX 2012 R3 столкнулись с неприятной особенностью обработки российских аналитик отслеживания с настроенным пропуском в заказах на перемещение: резервирование номенклатуры (проводок) для продажи с транзитного склада не производилось. Принять номенклатуру с использование ТСД на склад при приходе не получалось.

Для решения проблемы были внесены следующие изменения (без претендования на истину довожу результаты сравнения проекта с sys-слоем)

В перечисление WHSHierarchyLevel добавить значение для ГТД (если используются аналитики «Владелец» и «Профиль учета», то добавить их в перечисление). По большей части не влияет на функциональность, но при отладке резервирования для российских аналитик отслеживания код будет возвращать пустой уровень иерархии резервирования.
Внести исправления в классы резервирования WMS:
1. Класс WHSReservationHierarchyInventDimUtil, метод deepestLevelFromInventDimParm():
Добавить в описание метода

X++:
/// <param name="_inventDim">
///     <c>InventDim</c> inventdim.
/// </param>
заменить
X++:
public static WHSReservationHierarchyLevel deepestLevelFromInventDimParm(
List            _reservationHierarchy,
InventDimParm   _inventDimParm)
на
X++:
public static WHSReservationHierarchyLevel deepestLevelFromInventDimParm(
List            _reservationHierarchy,
InventDimParm   _inventDimParm,
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016 -->
InventDim       _inventDim = null
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016 <--
)
заменить
X++:
_inventDimParm.(InventDim::dim2dimParm(dimensionFieldId)))
на
X++:
_inventDimParm.(InventDim::dim2dimParm(dimensionFieldId))
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016 -->
&& (!_inventDim || _inventDim.(dimensionFieldId))) //не учитывать в расчете иерархии пустые значения аналитик.
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016 <--
2. Класс WHSInventReserveQtyCalculator, метод initializeCalculations():

заменить
X++:
requestedInventDimParm);
на
X++:
requestedInventDimParm,
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016-->
 inventDimCriteria
//WHSReserveGTD, Корректировка классов приемки по заказу на перемещение WMS, , 09.2016<--
);
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
За это сообщение автора поблагодарили: Logger (3), gl00mie (5).