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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.01.2021, 09:03   #1  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Комплектация. Перепоставка
AX 2012 R3
Заказ на продажу. Одна строка на кол-во 10. Перепоставка/недопоставка -0 %
Создаю отгрузочную на 10, регистрация. Одна складская проводка в статусе Скомплектовано на 10.
Далее разноска накладной на кол-во 15. И Акс легко мне это дает сделать.
Мы чтото сильно не понимаем в идеологии комплектации?

Лезу в код проверки. В нашем случае отработка попадает в InventMovement\checkNotOverDelivery в ветку где считается qtyPre - максимально разрешенное количество по строке:
X++:
qtyPre = abs(inventTransIdSum.receipt() + inventTransIdSum.registered() +
                         inventTransIdSum.issue()   + inventTransIdSum.picked());
Тужусь понять почему Picked считают дважды? Не понимаю. В итоге qtyPre = 20, и никакого превышения нет. Далее в коде добивается заказанное до 15 и все прекрасно разносится.

Как тогда правильно работать с комплектацией? Мы ее используем для проверки и резервирования количества для машины клиента въехавшей на территорию. При этом фактическое превышение отгрузки над комплектацией у нас разрешено, но превышение над количеством "К поставке" - не разрешено.
Старый 19.01.2021, 10:32   #2  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Сообщение от Perc Посмотреть сообщение
AX 2012 R3
Мы чтото сильно не понимаем в идеологии комплектации?

.
Да

Цитата:
При этом фактическое превышение отгрузки над комплектацией у нас разрешено, но превышение над количеством "К поставке" - не разрешено.
1. Перепоставка и недопоставка управляются двумя соответсвующими галками в Параметрах и % допустимых отклонений.
2. Превышение отгрузки над комплектацией - управляется галками "требуется регистрация и требуется комплектация" в группах складских моделей.

Цитата:
Создаю отгрузочную на 10, регистрация. Одна складская проводка в статусе Скомплектовано на 10.
Далее разноска накладной на кол-во 15. И Акс легко мне это дает сделать
Система позволяет так сделать, если ни одна из указанных галок не стоит. Отгружает столько, сколько указано при разноске накладной.

Здесь ещё мы перепоставку обсуждали
Частичная отмена строк отгрузки
Старый 19.01.2021, 10:36   #3  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Как тогда правильно работать с комплектацией?
Комплектация это в первую очередь складская процедура отбора товара с мест хранения на места отгрузки (если включить WMS то траспортировка паллет).

Для резервирования - используйте функцию резервирования.

Когда кладовщик изменяет статус на скомплектовано (в любой из трёх основных форм) то он подтверждает, что товар готов к отгрузке.

Если хотите, чтобы Скомплектовано == Разнесено в накладной, то ставьте галку "требуется комплектация"
Старый 19.01.2021, 12:29   #4  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Цитата:
Сообщение от Vals Посмотреть сообщение
1. Перепоставка и недопоставка управляются двумя соответсвующими галками в Параметрах и % допустимых отклонений.
2. Превышение отгрузки над комплектацией - управляется галками "требуется регистрация и требуется комплектация" в группах складских моделей.
У нас разрешена перепоставка в рамках процента указанного в заказе. Ставим галку в параметры.
У нас разрешено превышение над комплектаций. Значит галку "требуется комплектация" не ставим. Все правильно получается настроено?
Цитата:
Сообщение от Vals Посмотреть сообщение
Система позволяет так сделать, если ни одна из указанных галок не стоит. Отгружает столько, сколько указано при разноске накладной.
Непонятно. Основываясь на каком принципе позволяется отпустить больше чем разрешено процентом перепоставки в заказе? Пример бытовой есть?
Цитата:
Сообщение от Vals Посмотреть сообщение
Комплектация это в первую очередь складская процедура отбора товара с мест хранения на места отгрузки (если включить WMS то траспортировка паллет).
Для резервирования - используйте функцию резервирования.
Когда кладовщик изменяет статус на скомплектовано (в любой из трёх основных форм) то он подтверждает, что товар готов к отгрузке.
Хорошо. Другой пример. У клиента большой заказ на период. Машины приходят. Кладовщик отгрузил. Т.е. скомплектовал, сказал - готово к отгрузке.
Машина идет на коммерческие весы, в место где оформляют накладную и пр. документы. Общий вес оказался чуть больше чем на весах кладовщика. Но товар оплачен, все согласны - делаю документы на фактический вес. Если же вес превысит разрешенное по заказу - документы выписаться не должны. Едет на разгрузку.
Цитата:
Сообщение от Vals Посмотреть сообщение
Если хотите, чтобы Скомплектовано == Разнесено в накладной, то ставьте галку "требуется комплектация"
Мы этого как раз не хотим - поэтому не ставим.
Старый 19.01.2021, 12:45   #5  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Непонятно. Основываясь на каком принципе позволяется отпустить больше чем разрешено процентом перепоставки в заказе? Пример бытовой есть?
Система не даст отгрузить больше, чем в заказе с учётом % по перепоставке. Проверьте настройки или закиньте сюда скрин.

Цитата:
Хорошо. Другой пример. У клиента большой заказ на период. Машины приходят. Кладовщик отгрузил. Т.е. скомплектовал, сказал - готово к отгрузке.
Машина идет на коммерческие весы, в место где оформляют накладную и пр. документы. Общий вес оказался чуть больше чем на весах кладовщика. Но товар оплачен, все согласны - делаю документы на фактический вес. Если же вес превысит разрешенное по заказу - документы выписаться не должны. Едет на разгрузку.
Перепоставка контролирует количество более, чем "ИТОГО к поставке". Ваши частичные отгрузки ей "до лампочки" (с)

Пример:
Заказ на 100т (отгрузка машинами по 20т) перепоставка 10%
Отгрузка 1 - 20 т - разнесли (к поставке 80)
Отгрузка 2 - 30 т - разнесли (к поставке 50) (для системы перепоставки нет, так как остаток отггрузки ещё 50т)
Отгрузка 3 - 60 т - разнесли, система отругается на перепоставку.

В вашем случчае для таких частичных отгрузок есть пара вариантов:
1. Делать большой договр на 100 т типа Контракт и на его основе делать связанные заказы по 20 т с контролем перепоставки. Но плохо то, чтчо контракты не видны для Сводного планирования и не будет учтены - нужно сразу создавать связанные.

2. Делать договор - из него делать заказы

3. Делать Проект - из него делать заказы по 20т.

Идея, которая придёт кому-нибудь в голову - переписать контроль перепоставки на скомплектованное количество - не нужно

Последний раз редактировалось Vals; 19.01.2021 в 13:04.
Старый 19.01.2021, 13:25   #6  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Цитата:
Сообщение от Vals Посмотреть сообщение
Система не даст отгрузить больше, чем в заказе с учётом % по перепоставке. Проверьте настройки или закиньте сюда скрин.
мм.. скрин чего? галочек с параметров? )) Ну вот этих чтоле)

Причем если я не делаю отгрузочную, а сразу разношу заказанное - мне система не дает разнести больше чем "К поставке" с учетом процента перепоставки.
Цитата:
Сообщение от Vals Посмотреть сообщение
Перепоставка контролирует количество более, чем "ИТОГО к поставке". Ваши частичные отгрузки ей "до лампочки" (с)
Я разве гдето указал что хочу контролировать по скомплектованному?
Цитата:
Сообщение от Vals Посмотреть сообщение
Пример:
Заказ на 100т (отгрузка машинами по 20т) перепоставка 10%
Отгрузка 1 - 20 т - разнесли (к поставке 80)
Отгрузка 2 - 30 т - разнесли (к поставке 50) (для системы перепоставки нет, так как остаток отггрузки ещё 50т)
Отгрузка 3 - 60 т - разнесли, система отругается на перепоставку.
В данном случае как раз у вас никакой ругани не будет на третье отгрузке. Все вполне вписывается в 10 процентов перепоставки.

Цитата:
Сообщение от Vals Посмотреть сообщение
Идея, которая придёт кому-нибудь в голову - переписать контроль перепоставки на скомплектованное количество - не нужно
Не понял опять.. Я не писал про контроль по скомплектованному.

Я смотрю код вычисления qtyPre - скомплектованное количество складывается дважды. Выглядит как будто задумано так. Но я не понимаю прикладного смысла такого расчета. Где и как оно должно логично себя повести?
Поэтому меня подмывает посчитать это багом - и убрать одно слагаемое.
Миниатюры
Нажмите на изображение для увеличения
Название: отметки.jpg
Просмотров: 260
Размер:	31.0 Кб
ID:	13025  
Старый 19.01.2021, 18:11   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Автор имел в виду, что вот в этом коде

X++:
qtyPre = abs(inventTransIdSum.receipt() + inventTransIdSum.registered() +
                         inventTransIdSum.issue()   + inventTransIdSum.picked());
Внутри метода inventTransIdSum.receipt() уже учтено значение inventTransIdSum.registered(). А внутри метода inventTransIdSum.issue() также учтено значение inventTransIdSum.picked()

В результате, в этой формуле значение inventTransIdSum.receipt() и inventTransIdSum.picked() удваиваются. Вот автор и в недоумении

Цитата:
Тужусь понять почему Picked считают дважды? Не понимаю. В итоге qtyPre = 20, и никакого превышения нет. Далее в коде добивается заказанное до 15 и все прекрасно разносится.
Я вот тоже не понимаю. Зачем эти слагаемые тут добавили? Может раньше inventTransIdSum.receipt() и inventTransIdSum.issue() скомплектованные количества в себя не включали?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 22.01.2021, 19:30   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Угу. Как оказалось, в младших версиях dax действительно скомплектованное количество в этих методах не учитывалось

\Classes\InventTransIdSum

Вот для класса dax4

X++:
InventQty   issue()
{

    if (! transaction)
        this.calcSum();

    return  sold
           -inventSum.Deducted
           -inventSum.ReservPhysical
           -inventSum.ReservOrdered
           -inventSum.OnOrder
           -inventSum.QuotationIssue;

}

А вот для класса dax2012

X++:
/// <summary>
///    Calculates and returns the total quantity being issued.
/// </summary>
/// <returns>
///    The quantity being issued.
/// </returns>
public InventQty issue()
{
    if (!totalsHasBeenCalculated)
    {
        this.calcSum();
    }

    return  sold
           -inventSum.Deducted
           -inventSum.Picked
           -inventSum.ReservPhysical
           -inventSum.ReservOrdered
           -inventSum.OnOrder
           -inventSum.QuotationIssue;
}

Разница именно в Picked. Хотя надо заметить, что в dax4 значение qtyPre просто считывалось из поля строки документа
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 22.01.2021, 21:30   #9  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,508 / 432 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Зачем эти слагаемые тут добавили? Может раньше inventTransIdSum.receipt() и inventTransIdSum.issue() скомплектованные количества в себя не включали?
так они и не должны включать
receipt и issue по своему смыслу это физически произошедший приход и расход. регистрация и комплектация к физическому движению товара отношения не имеют.
так что вопрос надо бы поставить по-другому - зачем были модифицированы методы receipt и issue? и как это проглядели на тестировании модификаций????
__________________
С уважением,
Вячеслав
Старый 24.01.2021, 18:32   #10  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Это было бы логичное рассуждение, если бы в сумме не учитывали значений "Заказано" (OnOrder). Формально, это тоже еще не расход.

Так что, скорее, это исправление очень старой ошибки, которая привела к возникновению новых ошибок
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 25.01.2021, 20:30   #11  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,508 / 432 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
одно другого не отменяет))))
__________________
С уважением,
Вячеслав
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как воспользоваться опцией "Перепоставка" в Заказах на перемещение Geo DAX: Функционал 4 30.09.2008 12:29
Комплектация ОС Hub DAX: Функционал 3 04.06.2008 13:06
Одновременная комплектация нескольких отгрузок Tressi DAX: Функционал 2 24.05.2006 13:40
Комплектация программно? linney DAX: Программирование 12 29.07.2004 17:13
Заказы-склад комплектация AK-76 DAX: Функционал 2 05.11.2003 10:37

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

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

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