УТ 10.3: округление до единиц мест, где хранить информацию о местах? #688043


#0 by Cyberhawk
Друзья! Есть типовая УТ 10.3 с готовым расчетом заказа поставщику (исходя из анализа предыдущих продаж, остака и прочего). Все товары пусть учитываются в штуках. Других ЕИ нет, хар-к и серий - нет. На выходе из расчета получаем для каждой номенклатуры количество, которое нужно заказать (далее - "заказать, шт."). Что хочется: округлять это количество по следующим правилам: а)если "заказать" получилось меньше, чем треть от минимального кол-ва заказа для данной позиции (далее - "минимальный заказ, шт."), то округлять до нуля; б) если "заказать, шт." получилось больше трети от "мин. заказ, шт.", то уже заказывать целыми местами; И вот для пункта б) дополнительное условие: у каждой позиции могут быть разные места. Пример: пиво по 10, 20, 50 бутылок в месте (упаковке). И вот хочется, чтобы отчет округлял рассчитанное кол-во "заказать, шт." вот так: 31-50 --> 50 50 и выше - округлять с точностью 50 (100, 150, 200) Вопрос: где хранить в инфобазе данные о кол-ве товара в местах (т.е. для нашего примера - цифры 10, 20 и 50)?
#1 by Cyberhawk
Пока только придумал свойство номенклатуры типа "Строка" с разделенными пробелом/запятой цифрами
#2 by Лодырь
Крайне неудобно работать в запросе с такого рода информацией.
#3 by Лодырь
Заведи просто единицы измерения с необходимыми коэффициентами. Чем не вариант? Ничего кроме отчета добавлять не надо будет.
#4 by Cyberhawk
Я понимаю, что алгоритм для запроса весьма неудобный (высчитывать попадание в диапазон), да и отчет на СКД уже есть. Думаю запихать алгоритм в программную пост-обработку отчета, либо использовать в СКД функции общего модуля (но тогда и платформу обновить нужно будет). задавать для каждого товара ряд единиц измерения будет удобнее для обработки границ вхождения по сравнению с хранением этих границ в строковом ряде (свойстве), верно?
#5 by Лодырь
Думаю, что да -  удобнее.
#6 by Cyberhawk
:) хочется также сделать задел на будущее: вдруг клиент захочет заводить настоящие дополнительные ЕИ (единицы измерения), которые не должны являться рядом для округления заказа. Т.е. заведет для того же пива упаковку 15 бутылок, но заказывать по-прежнему нужно только по 10-20-50-100 бутылок... И вновь дилемма: либо пользоваться-таки строковым свойством, либо маркировать единицу измерения каким-нибудь флажком "Участвует в расчете заказа" и учитывать только такие ЕИ
#7 by Лодырь
Такое может произойти только если клиент занимается перекладкой бутылок из упаковки вендора в свою. Иначе какой смысл делать другие упаковки?
#8 by Cyberhawk
Еще могут быть разные поставщики... у одного закупаем упаковками 10-20-50, а у второго один раз в году в случае форс-мажора - упаковками по 15... и не хотим, чтобы расчет заказа поставщику брал в расчет эти 15 штук
#9 by Лодырь
Тогда единицы измерения + регистр сведений(номенклатура,единица измерения) для хранения единиц которые могут использоваться для расчета
#10 by Cyberhawk
да, хороший вариант: в запросе можно сразу будет получать нужные значения для каждой позиции (и также сразу видеть, для каких позиций ничего не задано), плюс такое решение кажется удобным с учетом расширения требований к алгоритму округления: добавление фильтра по поставщику или договору, например
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С