Здравствуйте.Скажите, пожалуйста,нужно программно проставить номенклатуру в записи регистра бухгалтерии,которые создает документ "требование на выдачу продуктов питания". Вопрос в том, что у нас номенклатура берется из табличной части этого документа,но я не могу проставить номенклатуру, так как обработка берет одну номенклатуру, которая первая в списке в табл части, и проставляет всем позициям одну и ту же номенклатуру в регистре!
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
поставили сравнение по номеру документа, то есть если номер в табл части равен номеру в регистре, то записываем номенклатуру
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДвиженияДокумента = РегистрыБухгалтерии.ЕПСБУ.СоздатьНаборЗаписей();
ДвиженияДокумента.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.ссылка);
ДвиженияДокумента.Прочитать();
Для каждого проводка из ДвиженияДокумента Цикл
Если Не ЗначениеЗаполнено(Проводка.СубконтоКт.Номенклатура) и проводка.НомерСтроки = ВыборкаДетальныеЗаписи.НомерСтроки Тогда
КонецЦикла;
Теперь вопрос такой если в табл части документа позиции повторяются,напрмер
1- апельсины
2 -апельсины
3-яблоки
4-груши
то обработка проставляет след образом
1- апельсины
2-яблоки
3-груши
то есть пропускает повторяющуюся позицию
Либо группировка в запросе, либо свернуть() это надо убрать
А вообще правильно пропускает, она сворасивает эти строки, номенклатура остается а сумма и количество увеличивается
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший