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

Данные из таблицы в печатную форму

Автор keramik, 03 июл 2015, 10:40

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

keramik

Добрый день, 1С 8.2, "Управление торговлей", редакция 10.3 (10.3.7.9).

Вопрос следующий, как передать в печатную форму данные из ячейки таблицы?

Есть таблица ЗаказанныеРаботы с колонкой ЗаказРаботы. Туда пользователь из списка выбирает виды работ.
В печатной форме есть поле <ЗаказанныеРаботы>, которое должно заполняться данными из таблицы. Для этого использую следующий код:
ОбластьМакета = Макет.ПолучитьОбласть("Причина");
ОбластьМакета.Параметры.ЗаказанныеРаботы = СокрЛП(ЭтотОбъект.Ссылка.ЗаказанныеРаботы);
ТабДокумент.Вывести(ОбластьМакета);

Но вместо данных выводится строка: ДокументТабличнаяЧасть.АС_ЗаявкаНаРемонт.ЗаказанныеРаботы

Когда речь шла о заполнении печатной части полями из формы, то вопросов не было. А вот с данными из таблицы я пока не могу справиться.
Подскажите, пожалуйста, в какую сторону искать?

cska-fanat-kz

раз таблица - значит может быть несколько строк. значит надо вывести работы через запятую? так?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

mixqn

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

keramik

Нагляднее будет вывести в столбик.
Цикл. Это идея, покурю мануалы, как это можно реализовать.

cska-fanat-kz

подсказка: цикл "Для каждого..."
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

keramik

Изменил немного названия ТабличнойЧасти и атрибутов, чтобы самому не путаться.
В итоге есть Табличная Часть - ПричинаОбр, в ней атрибут ПричинаНазвание.
В процедуре, вызывающей печатную форму, добавил код:

ОбластьМакета = Макет.ПолучитьОбласть("Причина");
Для Каждого ПричинаНазвание из ПричинаОбр Цикл
ТекРаботы = ЭтотОбъект.Ссылка.ПричинаОбр;
КонецЦикла;
ОбластьМакета.Параметры.ЗаказанныеРаботы = ТекРаботы;

Но этот вариант не работает, данные не выводятся. Я что-то не то выбираю.

Kironten

Цитата: keramik от 03 июл 2015, 13:28
Изменил немного названия ТабличнойЧасти и атрибутов, чтобы самому не путаться.
В итоге есть Табличная Часть - ПричинаОбр, в ней атрибут ПричинаНазвание.
В процедуре, вызывающей печатную форму, добавил код:

ОбластьМакета = Макет.ПолучитьОбласть("Причина");
Для Каждого ПричинаНазвание из ПричинаОбр Цикл
ТекРаботы = ЭтотОбъект.Ссылка.ПричинаОбр;
КонецЦикла;
ОбластьМакета.Параметры.ЗаказанныеРаботы = ТекРаботы;

Но этот вариант не работает, данные не выводятся. Я что-то не то выбираю.
Если уж "столбиком", попробуйте типо того:

ТекРаботы = "";
Для Каждого Стр Из ПричинаОбр Цикл
    ТекРаботы = ТекРаботы + СокрЛП(Стр.ПричинаНазвание) + Символы.ПС;
КонецЦикла
ОбластьМакета.Параметры.ЗаказанныеРаботы = ТекРаботы;

keramik

Отлично! Просто отлично. Выводятся данные. Спасибо :)

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

Рейтинг@Mail.ru

Поиск