1c занесение данных из колонок запроса в табличную часть

1. Distriq 29.01.19 13:51 Сейчас в теме
Доброго времени суток, господа!
Не могу разобраться, подскажите или направьте, пожалуйста :)
Есть внешняя обработка на печать договора на основе счета на оплату. Заложена рассрочка на срок до 4-х месяцев.
Вытащил запросом нужные мне данные, каждая сумма платежа выводится в отдельной колонке как СуммаПлатежа(1-4).
В макете печатной формы есть область строки, в которую мне нужно выводить данные по рассрочке.
С первым платежом вроде всё понятно - в запросе
ПараметрыРассрочки.СрокПлатежа1 КАК РазмерПлатежа
что соответствует колонке в Табличной Части внешней обработки.

Как заносить данные из СрокПлатежа(2-3) в ячейку РазмерПлатежа, создавая при этом новые строки Табличной Части?
По теме из базы знаний
Найденные решения
9. dhurricane 29.01.19 14:39 Сейчас в теме
(6) Ну тогда так:
Пока Выборка.Следующий() Цикл
   // заполнение ОбластьМакета
   
   Для Индекс = 1 по 50 Цикл
      ОбластьМакета.Параметры.СрокПлатежа = Выборка["СрокПлатежа" + Индекс];
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;

КонецЦикла;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. login1020 135 29.01.19 14:10 Сейчас в теме
(1) не совсем понятно, покажите Ваш макет, и итоговые данные на выходе запроса.
alex-l19041; +1 Ответить
5. Distriq 29.01.19 14:25 Сейчас в теме
(2)



Прошу прощения, если не очень понятно, ЯП изучаю пару недель)
7. Distriq 29.01.19 14:31 Сейчас в теме
(2)
Прикрепленные файлы:
8. login1020 135 29.01.19 14:37 Сейчас в теме
(7) Не пойму у Вас в одной строке в запросе только один платеж и одна дата платежа по договору?
10. Distriq 29.01.19 14:40 Сейчас в теме
(8)
Да, выборка сделана по одному счету, а в качестве даты используется дата заключения довогора.
11. azanas 29.01.19 14:43 Сейчас в теме
(7) Лучше наверное все таки переписать запрос,на шапку документы отдельный запрос,на табличную часть отдельную.Судя по скрину ты все в одном запросе пытаешься вытянуть.
alex-l19041; Distriq; +2 Ответить
12. Distriq 29.01.19 14:56 Сейчас в теме
(11)
Вот сам запрос, если интересно :)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СчетНаОплатуПокупателю.Ссылка КАК Ссылка,
| СчетНаОплатуПокупателю.Организация КАК Организация,
| СчетНаОплатуПокупателю.Организация.НаименованиеПолное КАК ОрганизацияНаименование,
| СчетНаОплатуПокупателю.Контрагент.Наименование КАК КонтрагентФИО,
| СчетНаОплатуПокупателю.ДоговорКонтрагента.Номер КАК НомерДоговора,
| СчетНаОплатуПокупателю.ДоговорКонтрагента.Дата КАК ДатаДоговора,
| СчетНаОплатуПокупателюТовары.Номенклатура КАК Номенклатура,
| НоменклатураДополнительныеРеквизиты1.Значение КАК ОбъемТеорЧасти,
| НоменклатураДополнительныеРеквизиты2.Значение КАК АдресПомещения,
| НоменклатураДополнительныеРеквизиты3.Значение КАК ОбъемПрактЗанятий,
| НоменклатураДополнительныеРеквизиты4.Значение КАК ВСтоимостьНеВходит,
| НоменклатураДополнительныеРеквизиты5.Значение КАК СтоимостьГСМ,
| АБВ_ПараметрыРассрочки.СуммаМесяц1 КАК РазмерПлатежа,
| АБВ_ПараметрыРассрочки.СуммаМесяц2,
| АБВ_ПараметрыРассрочки.СуммаМесяц3,
| АБВ_ПараметрыРассрочки.СуммаМесяц4,
| СчетНаОплатуПокупателю.СуммаДокумента КАК СтоимостьОбучения
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
| ПО СчетНаОплатуПокупателю.Ссылка = СчетНаОплатуПокупателюТовары.Ссылка
| И (СчетНаОплатуПокупателюТовары.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты1
| ПО (СчетНаОплатуПокупателюТовары.Номенклатура = НоменклатураДополнительныеРеквизиты1.Ссылка)
| И (НоменклатураДополнительныеРеквизиты1.Свойство.Наименование = ""Объем теоретической программы (Номенклатура)"")
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты2
| ПО (СчетНаОплатуПокупателюТовары.Номенклатура = НоменклатураДополнительныеРеквизиты2.Ссылка)
| И (НоменклатураДополнительныеРеквизиты2.Свойство.Наименование = ""Адрес помещения (Номенклатура)"")
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты3
| ПО (СчетНаОплатуПокупателюТовары.Номенклатура = НоменклатураДополнительныеРеквизиты3.Ссылка)
| И (НоменклатураДополнительныеРеквизиты3.Свойство.Наименование = ""Объем практических занятий (Номенклатура)"")
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты4
| ПО (СчетНаОплатуПокупателюТовары.Номенклатура = НоменклатураДополнительныеРеквизиты4.Ссылка)
| И (НоменклатураДополнительныеРеквизиты4.Свойство.Наименование = ""В стоимость не входит (Номенклатура)"")
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты5
| ПО (СчетНаОплатуПокупателюТовары.Номенклатура = НоменклатураДополнительныеРеквизиты5.Ссылка)
| И (НоменклатураДополнительныеРеквизиты5.Свойство.Наименование = ""Стоимость ГСМ (Номенклатура)""),
| РегистрСведений.АБВ_ПараметрыРассрочки КАК АБВ_ПараметрыРассрочки
|ГДЕ
| СчетНаОплатуПокупателю.Ссылка В(&МассивДокументов)
| И АБВ_ПараметрыРассрочки.Номенклатура.Наименование = СчетНаОплатуПокупателюТовары.Номенклатура.Наименование
| И СчетНаОплатуПокупателюТовары.Сумма = АБВ_ПараметрыРассрочки.Сумма";
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
13. alex-l19041 8 29.01.19 14:58 Сейчас в теме
(7) а что за данные СуммаМесяц1, СуммаМесяц2 ?
14. Distriq 29.01.19 15:01 Сейчас в теме
(13)
Извините, не понял вопроса.
На картинке выше в результате запроса их видно.
3. azanas 29.01.19 14:10 Сейчас в теме
скопируй строки,а размер платежа замени
4. azanas 29.01.19 14:21 Сейчас в теме
Пока Выборка.Следующий() Цикл

ОбластьМакета.Параметры.СрокПлатежа = Выборка.СрокПлатежа1;
....заполняешь все остальное...
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета.Параметры.СрокПлатежа = Выборка.СрокПлатежа2;
ТабДокумент.Вывести(ОбластьМакета);

ОбластьМакета.Параметры.СрокПлатежа = Выборка.СрокПлатежа3;
ТабДокумент.Вывести(ОбластьМакета);

КонецЦикла;


Имхо как то так
6. Distriq 29.01.19 14:27 Сейчас в теме
(4)
Спасибо, но если, допустим, этих платежей 50, для каждого придется писать? Потому и хочется сделать иначе.
9. dhurricane 29.01.19 14:39 Сейчас в теме
(6) Ну тогда так:
Пока Выборка.Следующий() Цикл
   // заполнение ОбластьМакета
   
   Для Индекс = 1 по 50 Цикл
      ОбластьМакета.Параметры.СрокПлатежа = Выборка["СрокПлатежа" + Индекс];
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;

КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот