Имя: Пароль:
1C
 
Разделить документ на равные части по количеству
Ø
0 Alpen
 
14.10.05
11:01
Имеем документ. Для простоты условимся, что в ТЧ имеются только два реквизита: Товар и Количество. Требуется разделить документ на N равных частей, чтобы Итог("количество") в каждой части был одинаковым. Делить товар по количеству между накладными нельзя(т.е. товар должен в полном количестве присутствовать в одной из частей). Понятно, что точно разделить получится не всегда, но требуется достичь наиболее близкий к точному результат. Подскажите, каким образом правильно подойти к решению данной задачи или ткните. Может кто-то уже решал подобные задачи в рамках 1С. Буду признателен за любую информацию.
1 Glide
 
14.10.05
11:08
1. Выгрузить в ТЗ и отсортировать по убыванию.
2. Определить НужноеКол=Итог("Количество")/N
3. Берем 1-е значение и ищем остаток в ТЗ. Пишем в Док1.
4. Пункт.3 в цикле до ТЗ.КоличествоСтрок()/2.
5. Остаток раскидываем по тем Докам, которые неполные.
6. После пары итераций придешь к консенсусу
3 Alpen
 
14.10.05
11:21
2(1). Идея ясна. Только не понял по пункту 4 почему до ТЗ.КоличествоСтрок()/2.
4 Glide
 
14.10.05
14:00
(3) Пока половину строк ТЗ переберешь, то концовка уже очистится! Она же отсортирована на уменьшение! Кстати забыл отметить: не забывай исключать отобранные товары из ТЗ
5 FLENDGER
 
14.10.05
14:24
*хм интересная задачка... а что делать, если, например, 2 строки в ТЧ:
товар1 - 500шт, товар2 - 1шт - как разбить на 3 дока? :)
6 Glide
 
14.10.05
15:50
(5) ОФФ. Зачем из исключений делать правила?
Если (ТЗ.КоличествоСтрок()=2)И(ИмяПользователя()="FLENDGER") Тогда
Сообщить("Ты знал! Ты знал!");
КонецЕсли;