Имя: Пароль:
1C
1С v8
УТ 10.3: округление до единиц мест, где хранить информацию о местах?
,
0 Cyberhawk
 
14.11.13
08:03
Друзья!
Есть типовая УТ 10.3 с готовым расчетом заказа поставщику (исходя из анализа предыдущих продаж, остака и прочего). Все товары пусть учитываются в штуках. Других ЕИ нет, хар-к и серий - нет.
На выходе из расчета получаем для каждой номенклатуры количество, которое нужно заказать (далее - "заказать, шт.").
Что хочется: округлять это количество по следующим правилам:
а)если "заказать" получилось меньше, чем треть от минимального кол-ва заказа для данной позиции (далее - "минимальный заказ, шт."), то округлять до нуля;
б) если "заказать, шт." получилось больше трети от "мин. заказ, шт.", то уже заказывать целыми местами;
И вот для пункта б) дополнительное условие: у каждой позиции могут быть разные места.
Пример: пиво по 10, 20, 50 бутылок в месте (упаковке). И вот хочется, чтобы отчет округлял рассчитанное кол-во "заказать, шт." вот так:
4-13 --> 10
14-30 --> 20
31-50 --> 50
50 и выше - округлять с точностью 50 (100, 150, 200)
Вопрос: где хранить в инфобазе данные о кол-ве товара в местах (т.е. для нашего примера - цифры 10, 20 и 50)?
1 Cyberhawk
 
14.11.13
08:05
Пока только придумал свойство номенклатуры типа "Строка" с разделенными пробелом/запятой цифрами
2 Лодырь
 
14.11.13
08:06
(1) Крайне неудобно работать в запросе с такого рода информацией.
3 Лодырь
 
14.11.13
08:09
Заведи просто единицы измерения с необходимыми коэффициентами. Чем не вариант? Ничего кроме отчета добавлять не надо будет.
4 Cyberhawk
 
14.11.13
08:18
Я понимаю, что алгоритм для запроса весьма неудобный (высчитывать попадание в диапазон), да и отчет на СКД уже есть. Думаю запихать алгоритм в программную пост-обработку отчета, либо использовать в СКД функции общего модуля (но тогда и платформу обновить нужно будет).
(3) задавать для каждого товара ряд единиц измерения будет удобнее для обработки границ вхождения по сравнению с хранением этих границ в строковом ряде (свойстве), верно?
5 Лодырь
 
14.11.13
08:21
(4) Думаю, что да -  удобнее.
6 Cyberhawk
 
14.11.13
08:26
(5) :) хочется также сделать задел на будущее: вдруг клиент захочет заводить настоящие дополнительные ЕИ (единицы измерения), которые не должны являться рядом для округления заказа. Т.е. заведет для того же пива упаковку 15 бутылок, но заказывать по-прежнему нужно только по 10-20-50-100 бутылок...
И вновь дилемма: либо пользоваться-таки строковым свойством, либо маркировать единицу измерения каким-нибудь флажком "Участвует в расчете заказа" и учитывать только такие ЕИ
7 Лодырь
 
14.11.13
08:30
(6) Такое может произойти только если клиент занимается перекладкой бутылок из упаковки вендора в свою. Иначе какой смысл делать другие упаковки?
8 Cyberhawk
 
14.11.13
08:33
(7) Еще могут быть разные поставщики... у одного закупаем упаковками 10-20-50, а у второго один раз в году в случае форс-мажора - упаковками по 15... и не хотим, чтобы расчет заказа поставщику брал в расчет эти 15 штук
9 Лодырь
 
14.11.13
08:39
(8) Тогда единицы измерения + регистр сведений(номенклатура,единица измерения) для хранения единиц которые могут использоваться для расчета
10 Cyberhawk
 
14.11.13
08:45
(9) да, хороший вариант: в запросе можно сразу будет получать нужные значения для каждой позиции (и также сразу видеть, для каких позиций ничего не задано), плюс такое решение кажется удобным с учетом расширения требований к алгоритму округления: добавление фильтра по поставщику или договору, например