Имя: Пароль:
1C
 
Создание документов из табличной части с условием
0 1cnat
 
18.08.22
23:18
есть заполненная ТЗ, при нажатии на кнопку создаются документы, на каждую строчку 1 документ, но нужно прописать условие, если по колонкам дата и номер счет-фактуры совпадают значения с предыдущей строчкой то эти строчки заполнить в одном документе, если следующая строчка с другим номером и датой, то создавать новый документ. вот что написала, но ничего не выходит, подскажите, пожалуйста, как правильно:

ДокументПриобретения = Документы.ПриобретениеУслугПрочихАктивов.СоздатьДокумент();
    ДокументПриобретения.Комментарий = "Создано обработкой загрузки реестра объектов "+ Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
    ДокументПриобретения.Организация = Объект.Организация;
    ДокументПриобретения.Контрагент = Объект.Контрагент;
    ДокументПриобретения.Договор = объект.ДоговорКонтрагента;
    ДокументПриобретения.Подразделение = Объект.Подразделение;
        тз.Сортировать("НомерСФ ВОЗР");
    номерсфакт = неопределено;
    Для каждого стр из ТЗ цикл
        Если стр.номерСФ = номерсфакт тогда
            ТабЧасть = ДокументПриобретения.Расходы.Добавить();
            ТабЧасть.СтатьяРасходов = Объект.СтатьяРасходовИАктивов;
            ТабЧасть.Содержание = стр.ПолноеНаименованиеОбъекта;
            ТабЧасть.Цена = стр.СуммаСФ;
            ТабЧасть.Сумма = стр.СуммаСФ;
            ТабЧасть.АналитикаРасходов = Объект.Подразделение;
            ТабЧасть.НаправлениеДеятельности = стр.НаименованиеОбъекта;
            ТабЧасть.Подразделение = Объект.Подразделение;
            
            ДокументПриобретения.Записать(РежимЗаписиДокумента.Запись);
            ДокументПриобретения = Документы.ПриобретениеУслугПрочихАктивов.СоздатьДокумент();
            ДокументПриобретения.Комментарий = "Создано обработкой загрузки реестра объектов "+ Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
            ДокументПриобретения.Организация = Объект.Организация;
            ДокументПриобретения.Контрагент = Объект.Контрагент;
            ДокументПриобретения.Договор = объект.ДоговорКонтрагента;
            ДокументПриобретения.Подразделение = Объект.Подразделение;
            ДокументПриобретения.НомерВходящегоДокумента = стр.НомерСФ;
            ДокументПриобретения.ДатаВходящегоДокумента = стр.ДатаСФ;
            ДокументПриобретения.Дата = стр.ДатаСФ;
            ДокументПриобретения.ДатаПлатежа = стр.ДатаСФ;
        Иначе
            номерсфакт = стр.номерСФ;
            ДокументПриобретения.НомерВходящегоДокумента = стр.НомерСФ;
            ДокументПриобретения.ДатаВходящегоДокумента = стр.ДатаСФ;
            ДокументПриобретения.ДатаПлатежа = стр.ДатаСФ;
            ДокументПриобретения.Дата = стр.ДатаСФ;
            ТабЧасть = ДокументПриобретения.Расходы.Добавить();
            ТабЧасть.СтатьяРасходов = Объект.СтатьяРасходовИАктивов;
            ТабЧасть.Содержание = стр.ПолноеНаименованиеОбъекта;
            ТабЧасть.Цена = стр.СуммаСФ;
            ТабЧасть.Сумма = стр.СуммаСФ;
            ТабЧасть.АналитикаРасходов = Объект.Подразделение;
            ТабЧасть.НаправлениеДеятельности = стр.НаименованиеОбъекта;
            ТабЧасть.Подразделение = Объект.Подразделение;
            
                    КонецЕсли;
            ДокументПриобретения = Документы.ПриобретениеУслугПрочихАктивов.СоздатьДокумент();
                КонецЕсли;
        КонецЦикла;
1 Fram
 
18.08.22
23:55
Я внутри цикла вижу одно штука Если и два штука КонецЕсли
2 1cnat
 
18.08.22
23:57
(1) все получилось, тема закрыта
3 Fram
 
18.08.22
23:57
Всегда пожалуйста