Попробуем разобраться с механизмом работы со складскими аналитиками в Dynamics AX2012.
В Dynamics AX доступны разные складские аналитики: сайт, склад, ячейка, паллет, партия, серийный номер и т.п. Эти характеристики применяются к номенклатурам.
Рассмотрим пример: у нас есть номенклатура с ItemId «ITEM001» для которой активны аналитики сайт, склад, ячейка, паллет, совершим складскую проводку на Сайт «S1», Склад «WHS01», Ячейку «LOC001», Паллет «PLT001». Для хранения проводки потребуется таблица с полями складских аналитик:
Попробуем все это упростить, создав новое поле ID, которое будет ссылаться на комбинацию этих значений. Например, «IDIM001» относится к Сайту «S1», Складу «WHS01», Ячейке «LOC001» и Паллету «PLT001». Кроме того, создадим отдельную таблицу для хранения значений всех этих 10 полей вместе с новым ID полем и добавим наше новое поле в таблицу проводок. Теперь все эти 100 записей мы можем сохранить лишь в одном ID поле.
Теперь больше не требуется хранить данные о 10 складских аналитиках в 100 записях, вместо этого нам нужно сохранить лишь одно поле, указывающее на определенную комбинацию этих складских аналитик. Пример таких таблиц можно увидеть ниже:
Такое поле ID в Dynamics AX называется InventDimId и таблица, в которой хранятся комбинации складских аналитик, а также это поле InventDimId называется InventDim:
Эта таблица играет крайне важную роль в Dynamics AX - каждая таблица, связанная со складскими аналитиками, как SalesLine, PurchLine, InventTrans - все имеют связь с InventDim.
Существуют уже готовые функции для создания и поиска InventDimId для различных комбинаций складских аналитик. Наиболее часто используется findOrCreate() для поиска складской аналитики - если InventDimId уже существует для заданной комбинации, тогда система вернет значение, если нет, то создаст новое значение и вернет его.
Если необходимо создать новые таблицы для хранения складских аналитик, то пользуйтесь уже готовым решением.
Happy DAXing!
Комментариев нет:
Отправить комментарий