Создание нового документа с определенным количеством строк в табличной части
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Добрый день!
Нужна срочно Ваша помощь!
Есть ограничение задачи: есть одна ТаблицаЗначений (ТЗ) с данными, по другому получить данные нельзя, специфика задачи.
Создается новый документ и заполняются программно его реквизиты, в документе есть ТЧ.
Эту ТЧ надо заполнить из ТЗ, но есть условие. Если в ТЗ количество строк больше 60, то создаем новый документ и т.д.
Как это сделать понять не могу? Разделить ТЗ на количества строк? Как?
Получается надо каким то образом создать документ с первыми 60тью строками из ТЗ, затем другой документ и строки уже с 61 по 120 и т.д.
Спасибо заранее за помощь и подсказки.
Нужна срочно Ваша помощь!
Есть ограничение задачи: есть одна ТаблицаЗначений (ТЗ) с данными, по другому получить данные нельзя, специфика задачи.
Создается новый документ и заполняются программно его реквизиты, в документе есть ТЧ.
Эту ТЧ надо заполнить из ТЗ, но есть условие. Если в ТЗ количество строк больше 60, то создаем новый документ и т.д.
Как это сделать понять не могу? Разделить ТЗ на количества строк? Как?
Получается надо каким то образом создать документ с первыми 60тью строками из ТЗ, затем другой документ и строки уже с 61 по 120 и т.д.
Спасибо заранее за помощь и подсказки.
По теме из базы знаний
- Всякие полезности
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Загрузка в табличную часть документа "Поступление товаров и услуг" информации из двух Excel файлов
- Загрузка документов из Excel в 1С: УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Проверка среднего заработка отпусков с автосозданием исправительных документов (ЗУП)
Найденные решения
Процедура СоздатьДокумент (ТЗ)
док = документы.док.Создать(); //Первый надо создать
ЗаполнитьРеквизитыШапки (Док); //Какие там нужно заполнить, тут заполняются
Для Каждого СтрокаТЧ Из ТЗ Цикл
Если СтрокаТЧ.НомерСтроки%60=0 Тогда //Может не номерСтрогки а индекс, отладкой нужно посмотреть
ЗаполнитьСтрокуВДокумент(док ,СтрокаТЧ );
Док.Записать(); //если кратно 60 то записать, создать новый, заполнить шапку и текущую строку в него
док = документы.док.Создать();
ЗаполнитьРеквизитыШапки (Док);
Иначе
ЗаполнитьСтрокуВДокумент(док ,СтрокаТЧ );
КонецЕсли;
КонецЦикла;
Если Док.ЭтоНовый() Тогда //Если последняя строка не кратна 60
Док.Записать();
КонецЕсли;
КонецПроцедуры
ПоказатьКак-то так думаю.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура СоздатьДокумент (ТЗ)
док = документы.док.Создать(); //Первый надо создать
ЗаполнитьРеквизитыШапки (Док); //Какие там нужно заполнить, тут заполняются
Для Каждого СтрокаТЧ Из ТЗ Цикл
Если СтрокаТЧ.НомерСтроки%60=0 Тогда //Может не номерСтрогки а индекс, отладкой нужно посмотреть
ЗаполнитьСтрокуВДокумент(док ,СтрокаТЧ );
Док.Записать(); //если кратно 60 то записать, создать новый, заполнить шапку и текущую строку в него
док = документы.док.Создать();
ЗаполнитьРеквизитыШапки (Док);
Иначе
ЗаполнитьСтрокуВДокумент(док ,СтрокаТЧ );
КонецЕсли;
КонецЦикла;
Если Док.ЭтоНовый() Тогда //Если последняя строка не кратна 60
Док.Записать();
КонецЕсли;
КонецПроцедуры
ПоказатьКак-то так думаю.
(7) Предполагается, что там вы заполните строку в документе. Я то не знаю как они у вас там называются и какие поля присутствуют
Процедура ЗаполнитьСтрокуВДокумент (док ,СтрокаТЧ)
НоваяСтрокаДокумента = Док.ИмяТабличнойЧасти.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаДокумента ,СтрокаТЧ);
КонецПроцедуры;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот