#0
by Collector
Здравствуйте, Уважаемые! Подскажите, какое правильное условие для цикла написать, чтобы 1С начала создавать второй, третий и тд документ после того, как набирается ПланВес?
#3
by vicof
Пока Вес <= ПланВес Цикл Если Вес <= ПланВес Тогда вот это зачем? Если ТекСтрока.Отметка = Истина Тогда вот это зачем?
#8
by Collector
По любому так не оставишь)) Не могли бы вы, хоть направить в правильную сторону ? А есть решение? Можно взглянуть ?
#12
by Axel2009
в текущем цикле я вижу только то что из существующих документов создается один, причем если веса плана больше чем суммарный вес в табличке, тогда тупо еще раз по тем же документикам создаем строчки, ну чтобы план забить и все.
#13
by Sammo
Если правильно понимаю, есть некая таблица значений с весами. Нужно раскидать по документам, причем задача оптимального подбора не стоит (максимальное соответсвие вес и план вес). Тогда простой обход таблицы с заполнением документа. Когда вес становится больше план веса - создаем следующий документ. Т.е. 1 цикл и 1 условие + обработка после выхода из цикла.
#16
by Axel2009
"обработка после выхода из цикла" подразумевается код записи документа, когда вышли из цикла.. псц
#18
by Reset
Это очередной виток сумрака, когда 1) ТС не описал задачу 2) Аналитики построили предположения 3) ТС выясняет условие своей задачи по предположениям у аналитиков?
#21
by Axel2009
а если будет на какойто строке так, что планвес = 2000 вес = 1990 текстрока.вес = 500 то в документ попадет 2490 вес. это нормально?
#25
by Collector
Но все равно не то получается. Выходит если Вес=50 ПланВес= 100 ТекСтрока.Вес=60, то он создаст новый документ, хотя за ним следуют, допустим 3 документа, по которым ТекСтрока.Вес=10, надо чтобы эти тоже попали в первый.. Т.е. документом по возможности набирать ПланВес.
#26
by Sammo
а вот это уже анализ и оптимальное заполнение. Это совершенно другая задача и решается несколько по другому...
#29
by Axel2009
оптимального алгоритма не существует =) из пример ВесПлан = 100; веса: 50 60 10 20 10 50 точнее существует конечно, но это кросс джоин саму на себя столько раз, сколько записей в таблице, но это очень долгий путь
#30
by Sammo
Самый простой, и мягко говоря, не очень оптимальный вариант: 1. Сортировать вес по убыванию. 2. Документы не сохранять до конца обработки. 3. Сначала пробуем вес добавить во все уже существующие документы, и только если никуда не влез - пихаем в новый. Но в общем случае результат будет лучше.
#31
by Jaffar
а ничего, что Объем не принимает никакого значения, отличного от 0? и происхождение лимитов ПланВес и ПланОбъем не понятно. надеюсь - это не глобальные переменные? можно их параметрами передать, если уж считать на сервере.
#32
by Collector
На тот момент когда код скинул, объем еще действительно не учавствовал. А ПланВес и ПланОбъем - это значения полей ввода на форме... Юзер сам их туда проставляет..
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- ЗУП. удержание за обеды сотрудников. Какая проводка
- НДФЛ с районного коэффициента на пособие по уходу за ребенком до 1,5 и 3 лет
- Отбор в табличном поле 1С 8.2
- Не могу отладить ПриЧтенииНаСервере (
- HASP выдает не все лицензии
- Ошибка совместного доступа
- v7: 1С 7.7. УСН При печати из справочника ОС выдает ошибку:СтоимостьНач = БухИт.СНД(
- Дополнительные свойства и категории объектов в тонком клиенте УПП 1.3.12
- Не создается объект через com-соединение
- v7: ТиС-937 рухнула SQL база 1С при обновлении на 967
- html - не работает nbsp. Выводится не пробел, а просто nbsp
- СКД Как убрать детальные записи по итогу
- Внешние источники данных
- Бухгалтерия 8.2 функция ПолучитьЗначениеПоУмолчанию() как получить значение ПВХ?
- Какие книги есть по XDTO обмену в 1С?
- Как программно нарисовать линию на макете?
- Помогите из 1С8.1 изменить принтер по умолчанию
- Обращение к Web-сервису: Extra content at the end of the document
- Можно ли в СКД программно получить колонку ?
- v7: v8: Бухгалтерия: перенос документов из 7.7 в 8. Штатный инструмент.