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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2007, 17:14   #1  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Резервирование при комплектации - проблемы с автоматическим резервированием
Добрый день,

Ax 3.0 CIS SP2

В системе через модуль Заказы на отгрузку осуществляется комплектация и отгрузка товаров со складов.

Работало так: в заказах на отгрузку менежером указывался склад и ячейка (то есть фронт отгрузки), на котором было размещено физическое наличие товара (физ. наличие к слову был только у склада, у ячейки его не было). Далее складской работник создавал отгрузку по этому заказу, указывал необходимую партию из справочника партий, товар отгружался. Резервирование по активированной строке комплектации изначально происходило разумеется без указания партии, но после запуска маршрута комплекатции, в момент, когда можно исправить складскую аналитику руками кладовщика там появлялась партия, а в физ. резервировании система аккуратно перекладывала "беспартийный" резерв в заказах в наличии на партию, коий и отгружался.

Проблемы начались, когда склад стали вести попартионно (образуя партии при активации производства, которое отгружало приемкой прямо на склад и фронт отгрузки). Все запасы в наличии стали иметь партию. И в этот момент стало получатся так, что при активации комплектации (точнее, еще на стадии ее резервирования) система САМОСТОЯТЕЛЬНО стала подбирать себе партию под эту строку. Удивление кладовщиков - полбеды. Если ей на хватало этой - первой выбранной - партии, она брала вторую, "сплитя" строки в комплектации.

Понятное желание системы резервировать "то, что есть". Но в данном случае оно вредит. Я хочу от него избавиться.

Причем, если в запущенном марштуре комплектации убрать эту партию, система легко и без усилий перекидывает физ. резерв на запасы в наличии БЕЗ ПАРТИИ, создавая ситуацию, которую мне и нужно было иметь вначале - сначала физ. резерв без партии, потом - через руки кладовщика - физ. резерв с партией, потом отгрузка партии.

Отрицательный склад включен.

Как сделать так, чтобы автоматическое резервирование происходило в строгом соответствии с аналиткой складского заказа?

Последний раз редактировалось Artem Mikhailov; 20.02.2007 в 17:21.
Старый 20.02.2007, 20:30   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Artem Mikhailov
...
Как сделать так, чтобы автоматическое резервирование происходило в строгом соответствии с аналиткой складского заказа?
...
У вас в строке заказа партия указана? У вас стандартная функциональность?
__________________
С уважением,
glibs®
Старый 21.02.2007, 06:38   #3  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от glibs Посмотреть сообщение
У вас в строке заказа партия указана? У вас стандартная функциональность?
Спасибо что откликнулись, glibs. Вчера прошерстил весь форум, наткнулся на очень похожее обсуждение в ветке При резервировании не учитывается аналитика Партия?. Похоже, я встал на те же грабли

В строке заказа (и заказа клиента, и заказа на отгрузку из него) партия не указана. Менеджеру все равно, какая партия будет отгружена - они все примерно одинаковые. Есть конечно особые случаи отгрузок старых залежалых партий, где партия может указываться специально, но это исключение и мы сейчас не об этом говорим. Большая часть заказов идет с аналитикой Конфигурация - Склад (физ. нал. включено) - Ячейка.

Наличие же имеет структуру Конфигурация - Склад - Ячейка - Партия. Галочек "Первичная аналитика" нет. На всех аналитиках установлены пропуски для приходов и расходов.

Да, функциональность стандартная.

Как я уже понял из вышеприведенной ветки, система сама резервирует партии по принципу начиная с наименьшей по номеру, которые есть в наличии. Выбор партии может регулироваться еще через флажок "Группа складских моделей \Контроль по дате". Мне же необходимо чтобы резервирование в отгрузке шло без указания партии.

Есть ли непрограммный способ это обойти?
Старый 21.02.2007, 09:25   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Вобщем в стандартном функционале никак. Резервирование идет по полному набору аналитик. Кстати из-за этого нам пришлось вообще отказаться от резервирования из под заказов, так как то что резервировали заказы нас не устраивало из-за невозможности работы со сроками годности. Проблему с тем, чтобы товар не выписывался больше, чем в наличии решили простыми административно-методологическими методами (ну и докручиванием формы создания строк в заказе)
В самом модуле WMS при комплектации у нас есть дописка, подбирающая товар с учетом сроков годности.
В то время, когда оценивали возможность резервированя только по части аналитик пришил к выводу, что миодификации нужны очень серьезные.
PS: кстати, в вашем процессе меня удивило, что менеджер указывает ячейку.
Старый 21.02.2007, 09:34   #5  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
раскопки показали, что...
при попытке зарезервировать товар на отгрузке в классе \Classes\InventUpd_Reservation\updateReserveMore используется запрос на InventSum с группировкой по всем активным аналитикам с целью получения первой строки в InventSum с доступным количеством, от которого можно "откусить".

Выход на запрос поиска наличия в 46 строке выглядит так
query = InventSum::newQuery(NULL,movement.itemId(),inventDimCriteria,inventDimParm,InventDimParm::activeDimFlag(movement.dimGroupId()));

При этом последний аргумент - это будущий inventDimParmGroupBy - указание на то, как группировать запрос в наличии. Система говорит - группируй по активным аналитикам.

Аналитка партии у меня активна - мне же нужно выбирать партию на строке комплекатации, нужно по партиям производить эту номенклатуру... Но вот при отгрузке резервировать по партии, причем - первой с начала или с конца, да еще и с разбивой строк комплектации - НЕ нужно. Может это конечно и неправильно, но на мой взгляд здесь система берет на себя лишнее

Пока в голове только программирование еще одной галочки на inventDimParm - "Физ. резервировать автоматически" и изменения 46-й строки в \Classes\InventUpd_Reservation\updateReserveMore для указания именно тех аналитик, что отмечены новой галочкой.

Что скажете? Неужели никто не сталкивался с необходимостью это обойти?
Старый 21.02.2007, 09:46   #6  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Вобщем в стандартном функционале никак. Резервирование идет по полному набору аналитик. .
Да, я пришел к такому же выводу.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
В то время, когда оценивали возможность резервированя только по части аналитик пришил к выводу, что миодификации нужны очень серьезные.
Какие именно, не сможете вспомнить? Если можно, перечислите те моменты, над которыми придется сильно и много думать.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
PS: кстати, в вашем процессе меня удивило, что менеджер указывает ячейку.
Это по большей части искуственно сделано. Он не указывает ее специально, она попадает туда из функции создания строк из наличия в клиентском заказе, а наличие на складе для удобства разделено на 3-4 фронта (то есть по ячейкам). На каждый фронт товар попадает из производства, а аналитика производства рождается из настройки местонахождения номенклатуры. То есть: на складе есть несколько фронтов, где группируется произведенная номенклатура, с них она заказывается, там же резервируется и отгружается. Можно было сделать несколько складов, мы сделали один склад в цехе и несколько ячеек.
Старый 21.02.2007, 10:04   #7  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
может поможет Резервирование в аксапте?!!!
Старый 21.02.2007, 10:12   #8  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от raz Посмотреть сообщение
Спасибо

Я читал вчера. Там объяснение, как управлять сортировкой при выборе системой партии при резервировании, а мне бы хотелось ее (партию) исключить вовсе
Старый 21.02.2007, 10:21   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Artem Mikhailov Посмотреть сообщение
мне бы хотелось ее (партию) исключить вовсе
Можно попробовать исключить ее из индекса или поставить в конец, или тут InventDimGlobal.dimFieldList(...) исключить, но перед этим надо АОТ проанализировать, мало ли где аукнеться.
Старый 21.02.2007, 10:51   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
По-моему, Вам стоит от резервирования вообще отказаться. Ведь идея резервирования в том, что оно именно из существующих физически остатков будет подбирать товар в заказ (я так понимаю, Вы это имеете ввиду под "физ. резервированием"). Говоря техническим языком, в InventSum не должно быть записей, где ReservPhysical > PostedQty + Received - Deducted + Registered - Picked. А в том случае, если приходы у вас с номером партии, а резервирование без, как раз такая запись и появится. В общем, по моему мнению, то, что Вы называете резервированием в понимании Аксапты резервированием не является (впрочем, я не настаиваю )
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.02.2007, 11:20   #11  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
По-моему, Вам стоит от резервирования вообще отказаться.
Так кто против то! И рад отказаться. Не нужна она мне, верно. Склад тут как правило затоварен, предупреждать отгрузки из минуса не надо. Но активация комплектации отгрузки без изначального резервирования в стандарте невозможна... см обработку отгрузок на форме WMSShipment
Старый 21.02.2007, 11:51   #12  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, понял теперь. Думал, вы в заказе (Sales order) резервируете. Извините.

Без программирования - хз, если честно. Только если заставить кладовщиков в Output orders перед созданием Shipment резервировать нужные партии вручную.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.02.2007, 12:11   #13  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Без программирования - хз, если честно.
Вот и я так подумал. Решение накинул пока такое.

Так как проблема в том, что система использует более широкий чем мне нужно набор аналитик для запроса на наличие для получения резерва, надо ее в этом месте обмануть. Я сделал копию группы складских аналитик, назвал ее "ГПбезПартии" и снял галочку "Активна" у партии - вот та группа, по которой мне надо производить резервирование.

Далее обманываю в \Classes\WMSShipmentReservation\reserveAtPickingLocation. В месте получения экземпляра inventMovement я подсовываю наследника от InventMov_WMSOrder, где перекрыт метод inventMovement.dimGroupId() как return "ГПбезПартии";

Итог такой - когда мы резервируем, мы используем группу с выключенными партиями. Во всех иных случаях работаем как и прежде.

Негибко, но мне не до этого сейчас было

Всем спасибо. Так конечно надо делать галочку на inventDimParm "Не использовать при резервировании" и соотвествующий метод типа InventDimParm::reserveDimFlag, с которым и работать в классе InventUpd_Reservation.
Старый 21.02.2007, 12:53   #14  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Artem Mikhailov
...
Как сделать так, чтобы автоматическое резервирование происходило в строгом соответствии с аналиткой складского заказа?
...
Попробуйте модифицировать алгоритм заполнения InventTrans.InventDimFixed.

Но только вам стоит понимать, что если в заказе вы фиксируете аналитики кроме ячейки и склада, то перестанет работать стандартный механизм WMS с его транспортировками полностью заполненных паллет, комплектацией, транспортировками пополнения ячеек комплектации. Система будет всегда предлагать комплектовать номенклатуру прямо из зоны хранения.
__________________
С уважением,
glibs®
Старый 21.02.2007, 14:58   #15  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Ну, не знаю-не знаю. Некрасиво это как-то, резервировать то, чего нет. Я, конечно, понимаю, что в Аксапте есть и другие места, где такой эффект случается (зарезервировано больше, чем есть в наличии), но это, скорее, баги, чем осмысленные действия.

Я бы в форму Shipment добавил функцию Manual reservations лучше, которая бы форму, похожую на Picking из заказов, открывала и позволяла отобрать правильные проводки для резервирования. ИМХО, это честнее будет.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.02.2007, 15:55   #16  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Maxim Gorbunov
...
Некрасиво это как-то, резервировать то, чего нет.
...
Ну, некрасивость начинается с работы с отрицательным складом на самом деле. Резервирование в отгрузках явно не приспособлено к такой настройке. Впрочем, сама концепция WMS тоже ориентирована на работу с существующей номенклатурой. Плюс к этому несоответствие заложенного в системе БП тому, что от нее хотят добиться (система ориентирована на работу с паллетами, а от системы хотят, чтобы партия указывалась кладовщиком, хотя при паллетном режиме кладовщик на партию не влияет, соответственно и возможности для ее удобного выбора нет).

К сожалению, Artem Mikhailov больше интересуется как изнасиловать Аксапту, нежели добиться от нее любви и уважения (найти способ отражения объективных особенностей бизнес-процесса).

В описанном случае можно попробовать указывать "левую" партию в строке заказа. Тогда при отрицательном складе резервирование будет работать точно так же, как и раньше у него работало, но только вместо пустой партии резерв будет устанавливаться на "левую". А кладовщик ее будет менять на "не левую".
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: George Nordic (2).
Старый 21.02.2007, 16:45   #17  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от glibs Посмотреть сообщение
К сожалению, Artem Mikhailov больше интересуется как изнасиловать Аксапту, нежели добиться от нее любви и уважения (найти способ отражения объективных особенностей бизнес-процесса).
Ох, glibs, не судите людей так строго! Честно говоря, примерно одни сутки я был уверен что эту проблему можно решить (по вашей терминологии) полюбовно, с этой целью и запостил эту тему. Но, к обоюдному сожалению, это оказалось недостижимо. О причине конечно можно сказать так, что, мол, не надо делать отгрузку через "Заказы на отгрузку", если у тебя палет нет и транспортировок нормальных, но извольте - а через что ее делать-то еще (3.0 СП2)? Что, в ахапте есть с десяток вариантов ведения планирования отгрузки и комплектации со склада по заказам? Тем более, что этот вариант очень близко подошел к реальности, и отказываться от него и в мыслях нет.
Старый 21.02.2007, 17:07   #18  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Артем, Вы, конечно, извините, что навязываюсь, но, по-моему, в Вашем случае вариант как раз есть - Picking list (отгрузочная, кажется, накладная) с последующей регистрацией. В целом, соглашусь с Глебом (как всегда )

Кстати, ведь даже при работе с отрицательным складом Аксапта не зарезирвирует больше того, чем доступно. Или я не прав?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.02.2007, 19:19   #19  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Artem Mikhailov
...
не судите людей так строго!
...
Никого я не судил, убедительно попрошу заметить.

У вас ячейки Аксаптовские для чего сейчас задействованы? У вас адресное хранение? Если да, система должна указывать кладовщику, из какой ячейки брать номенклатуру? Или он должен подбирать ячейку на собственное усмотрение, как и партию?
__________________
С уважением,
glibs®
Старый 21.02.2007, 21:22   #20  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от glibs Посмотреть сообщение
У вас ячейки Аксаптовские для чего сейчас задействованы? У вас адресное хранение?
Ячейки задействованы по большей части искуственно. Вообще, говоря честно, большинство механизмов WMS в процессе отгрузки не используется. Объясню.

Речь идет о цехах, производящих химическую продукцию, хранящуюся в баках на несколько тысяч тонн и в силосах. Кроме этого, есть и пакетированные (примерно по тонне) партии в крытых складских помещениях. Вся отгрузка производится в жд вагонах - на фронт погрузки или на эстакаду налива подается состав, отгружается, уходит. Выбрана простая складская структура - в каждом цехе один склад ГП, ячейка - это фронт отгрузки - от одного до трех физических фронтов на складе. Фронт четко группирует хранимую номенклатуру, как так в силосах и в баках ее конечно не смешивают. Также фронт указан как местоположение номенклатуры по умолчанию, что упрощает приемку из производства.

Отгрузка через заказы на отгрузку была выбрана по нескольким причинам. 1) представление цеху плана отгрузки на месяц в виде посуточных заказов на отгрузку, формируемых менеджерам сбыта по клиентским заказам - фактически, разрешения сбыта грузить в определенный день на конкретного клиента, 2) планирование отгрузки в цехе - мастер в начале дня раскладывает имеющиеся заказы на отгрузку на конкретные сменные задания - собственно отгрузки, которые потом круглосуточно комплектуются кладовщиками с указанием партии и номера вагона как кода палеты, 3) удобное разбиение строк комплектации по грузоподъемности поданых вагонов, 4) фактический вес отгрузки появляется на жд весовой в другом конце завода - удобно по факту перевески завершать маршруты комплектации с исправленным весом, подготовленные кладовщиками цехов, 5) сами формируются строки транспортных накладных по завершении отгрузки, 6) фиксируется, кто комплектовал (начинал маршрут), кто перевешивал вагон (кто его завершал) - ну это мелочи конечно

Честно говоря, я практически не менял предлагаемый ахаптой функционал. Понятно, что он несколько для иного предназначен, но он здорово решает и эту задачу - этапы отгрузки всем понятны, имеют под собой реальную основу.

Если что то еще интересно, спрашивайте.

Последний раз редактировалось Artem Mikhailov; 21.02.2007 в 21:26.
За это сообщение автора поблагодарили: aidsua (1).
Теги
ax3.0, комплектация, резервирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблемы с автомат. резервированием aevi82 DAX: Функционал 3 21.09.2006 12:13
Проблемы с комплектацией товара. CHAV DAX: Функционал 2 05.07.2006 11:23
Маршруты комплектации KIV DAX: Функционал 3 22.09.2004 12:08
Проблемы с комплектацией KIV DAX: Функционал 21 11.08.2004 17:39
Проблемы резервирование Alex_right DAX: Функционал 3 11.08.2003 00:30
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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