Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 мар 2025, 17:46

Вывод на печать значений табличной части с ПутьКДанным справочника

Автор Sl1Der, 07 фев 2025, 15:24

0 Пользователей и 1 гость просматривают эту тему.

Sl1Der

Имеется справочник "Авто" с стандартным реквизитом "Наименование" и реквизитом "РазмерШин", так же имеется документ "Техника" с табличной частью "ТаблицаТехники" и реквизитами "НаименованиеТехники" (СправочникСсылка.Авто) и реквизитом "РазмерШинТехники" (ПутьКДанным: Объект.ТаблицаТехники.НаименованиеТехники.РазмерШин).
Tree.png 
При добавлении значений в табличную часть в строку "РазмерШинТехники" автоматически подтягивается значение.
Doc.png
Проблемы возникают при попытке распечатать документ: строка с размером шин пустая.
Print.png
Как можно решить эту проблему?
Листинг процедуры печати ниже.

Процедура Печать(ТабДок, Ссылка) Экспорт
   //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
   Макет = Документы.Техника.ПолучитьМакет("Печать");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Техника.Дата,
   |   Техника.Номер,
   |   Техника.ТаблицаТехники.(
   |      НомерСтроки,
   |      НаименованиеТехники,
   |      РазмерШинТехники
   |   )
   |ИЗ
   |   Документ.Техника КАК Техника
   |ГДЕ
   |   Техника.Ссылка В (&Ссылка)";
   Запрос.Параметры.Вставить("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();

   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   Шапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТаблицаТехникиШапка = Макет.ПолучитьОбласть("ТаблицаТехникиШапка");
   ОбластьТаблицаТехники = Макет.ПолучитьОбласть("ТаблицаТехники");
   Подвал = Макет.ПолучитьОбласть("Подвал");

   ТабДок.Очистить();

   ВставлятьРазделительСтраниц = Ложь;
   Пока Выборка.Следующий() Цикл
      Если ВставлятьРазделительСтраниц Тогда
         ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
      КонецЕсли;

      ТабДок.Вывести(ОбластьЗаголовок);

      Шапка.Параметры.Заполнить(Выборка);
      ТабДок.Вывести(Шапка, Выборка.Уровень());

      ТабДок.Вывести(ОбластьТаблицаТехникиШапка);
      ВыборкаТаблицаТехники = Выборка.ТаблицаТехники.Выбрать();
      Пока ВыборкаТаблицаТехники.Следующий() Цикл
         ОбластьТаблицаТехники.Параметры.Заполнить(ВыборкаТаблицаТехники);
         ТабДок.Вывести(ОбластьТаблицаТехники, ВыборкаТаблицаТехники.Уровень());
      КонецЦикла;

      Подвал.Параметры.Заполнить(Выборка);
      ТабДок.Вывести(Подвал);

      ВставлятьРазделительСтраниц = Истина;
   КонецЦикла;
   //}}
КонецПроцедуры



Максим75

Sl1Der,
посмотрите как в макете параметр называется, который за размер отвечает, может в запросе алиас надо будет дать такой же.

LexaK

Sl1Der, попробуйте такой запрос
   "ВЫБРАТЬ
   |   Техника.Дата,
   |   Техника.Номер,
   |   Техника.ТаблицаТехники.(
   |      НомерСтроки,
   |      НаименованиеТехники,
   |      НаименованиеТехники.РазмерШин как РазмерШинТехники
   |   )
   |ИЗ
   |   Документ.Техника КАК Техника
   |ГДЕ
   |   Техника.Ссылка В (&Ссылка)";
если помогло нажмите: Спасибо!

Sl1Der


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск