Добрый день.
Подскажите не могу понять, в чем проблема. Написал простую печатную форму. Параметры НомерЗаявки и НомерПозиции заполняются без проблем , а вот данные из табличной части документа не подтягиваются.
Вот код
Функция Печать() Экспорт
Возврат ПечатьИзвещение();
КонецФункции
Функция ПечатьИзвещение()
ЗапросТЧ = Новый Запрос;
ЗапросТЧ.Текст =
"ВЫБРАТЬ
| ЗаказПокупателяТовары.НомерСтроки КАК НомерСтроки,
| ЗаказПокупателяТовары.Количество КАК Количество,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
| ЗаказПокупателяТовары.Ссылка
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка"
;
ЗапросТЧ.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Результат = ЗапросТЧ.Выполнить();
ТабличнаяЧасть = Результат.Выбрать();
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Извещение");
ОбластьМакета = Макет.ПолучитьОбласть("ТелоТаблицы");
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
ТабДокумент.Показать();
КонецФункции
Подскажите не могу понять, в чем проблема. Написал простую печатную форму. Параметры НомерЗаявки и НомерПозиции заполняются без проблем , а вот данные из табличной части документа не подтягиваются.
Вот код
Функция Печать() Экспорт
Возврат ПечатьИзвещение();
КонецФункции
Функция ПечатьИзвещение()
ЗапросТЧ = Новый Запрос;
ЗапросТЧ.Текст =
"ВЫБРАТЬ
| ЗаказПокупателяТовары.НомерСтроки КАК НомерСтроки,
| ЗаказПокупателяТовары.Количество КАК Количество,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
| ЗаказПокупателяТовары.Ссылка
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка"
;
ЗапросТЧ.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
Результат = ЗапросТЧ.Выполнить();
ТабличнаяЧасть = Результат.Выбрать();
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Извещение");
ОбластьМакета = Макет.ПолучитьОбласть("ТелоТаблицы");
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
ТабДокумент.Показать();
КонецФункции
По теме из базы знаний
- Внешняя печатная форма для УПП, блок ЗУП, документ Сдельный наряд
- Внешние печатные формы для УПП, платформа 8.2, редакция 1.3
- Внешняя печатная форма УПП 1.3 "Заявка на передачу - возврат ТМЦ на ответхранение" для документа Перемещение товаров. РАУЗ
- Отчет по заработной плате (по всем видам начислений и удержаний). УПП
- Переход с 1С:УПП на 1C:ERP: Задача переноса печатных форм в сжатые сроки. Конструктор печати
Найденные решения
Вы получили выборку результатов, например 10 позиций из табличной части и пытаетесь обратиться к этой выборке неверно.
Тут все ок т.к. это номер у объекта только один
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
Здесь вы пытаетесь обращаться к выборке так же, как к простому реквизиту, что в корне неправильно
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
У вас должен быть цикл, где вы последовательно получаете следующее значение выборки и выводите макет, примерно так:
Пока ТабличнаяЧасть.Следующий цикл
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Тут все ок т.к. это номер у объекта только один
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
Здесь вы пытаетесь обращаться к выборке так же, как к простому реквизиту, что в корне неправильно
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
У вас должен быть цикл, где вы последовательно получаете следующее значение выборки и выводите макет, примерно так:
Пока ТабличнаяЧасть.Следующий цикл
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вы получили выборку результатов, например 10 позиций из табличной части и пытаетесь обратиться к этой выборке неверно.
Тут все ок т.к. это номер у объекта только один
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
Здесь вы пытаетесь обращаться к выборке так же, как к простому реквизиту, что в корне неправильно
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
У вас должен быть цикл, где вы последовательно получаете следующее значение выборки и выводите макет, примерно так:
Пока ТабличнаяЧасть.Следующий цикл
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Тут все ок т.к. это номер у объекта только один
ОбластьМакета.Параметры.НомерЗаявки = СсылкаНаОбъект.Номер;
ОбластьМакета.Параметры.НомерПозиции = "1";
Здесь вы пытаетесь обращаться к выборке так же, как к простому реквизиту, что в корне неправильно
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
У вас должен быть цикл, где вы последовательно получаете следующее значение выборки и выводите макет, примерно так:
Пока ТабличнаяЧасть.Следующий цикл
ОбластьМакета.Параметры.Номенклатура = ТабличнаяЧасть.Номенклатура;
ОбластьМакета.Параметры.Количество = ТабличнаяЧасть.Количество;
ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот