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

вывести макет в управляемую форму

Автор alexshape, 18 окт 2016, 10:18

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

alexshape

подскажите в чем моя ошибка? хочу вывести в поле ТабДок типа табличный документ, макет того же отчета С готовой "шапкой"


Luzer1C

Функция Воз(Область)
Что возвращает?
Ответ: НИЧЕГО.
Халамбалам.

alexshape

Исправил, но почему он мне возвращает Строку Табличный документ, а не саму область?

&НаКлиенте
Процедура Сформировать(Команда)

ЭтаФорма.Элементы.ТабДок.ТекущаяОбласть.Текст = продажиОтчет.Воз();
КонецПроцедуры



&НаСервере
Функция Воз() Экспорт
МакетОТЧ = Отчеты.Продажи.ПолучитьМакет("Макет");
//ФормаОТЧ = Отчеты.Продажи.ПолучитьФорму("Отчет.Продажи.Форма.ФормаОтчета");
Область = МакетОТЧ.ПолучитьОбласть("Шапка");
Возврат Область;
КонецФункции


ilyay

Должно было быть, наверное, так:

    Об = РеквизитФормыВЗначение("Отчет");
    МакетОТЧ = Об.ПолучитьМакет("Макет");
    Возврат МакетОТЧ.ПолучитьОбласть(Область);

alexshape

Цитата: ilyay от 18 окт 2016, 10:54
Должно было быть, наверное, так:

    Об = РеквизитФормыВЗначение("Отчет");
    МакетОТЧ = Об.ПолучитьМакет("Макет");
    Возврат МакетОТЧ.ПолучитьОбласть(Область);


Ругается {ОбщийМодуль.продажиОтчет.Модуль(20,38)}: Переменная не определена (Область)
    Возврат МакетОТЧ.ПолучитьОбласть(<<?>>Область); (Проверка: Сервер)
{ОбщийМодуль.продажиОтчет.Модуль(18,7)}: Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
   Об = <<?>>РеквизитФормыВЗначение("Отчет"); (Проверка: Сервер)

Добавлено: 18 окт 2016, 11:33


Немного разобрался но одно все равно не решается:


Получаю макет в виде табличного документа на сервере
&НаСервере
Функция Воз() Экспорт
МакетОТЧ = Отчеты.Продажи.ПолучитьМакет("Макет");
//ФормаОТЧ = Отчеты.Продажи.ПолучитьФорму("Отчет.Продажи.Форма.ФормаОтчета");
Возврат (МакетОТЧ);
КонецФункции


потом на клиенте Выделяю областьТабШапка (в отладчике все норм в области ТабШапка есть данные
А вот при передаче в ЭтаФорма.Элементы.ТабДок.ТекущаяОбласть передается пустая таблица

&НаКлиенте
Процедура Сформировать(Команда)

таб = продажиОтчет.Воз();
ТАбШапка = таб.Области.Шапка;
ЭтаФорма.Элементы.ТабДок.ТекущаяОбласть = ТАбШапка;
КонецПроцедуры

ilyay

Ваши действия:
1. Получаете макет на сервере
МакетОТЧ = Отчеты.Продажи.ПолучитьМакет("Макет");
2. На сервере получаете область шапки
ТабДокШапка = МакетОТЧ.ПолучитьОбласть("Шапка");
3. Выводите результат в ваш табличный документ (можно на клиенте):
Способ 1:
ТабДок = ТабДокШапка;
Способ 2:
ТабДок = Новый ТабличныйДокумент; // если возможен повторный вывод в реквизит, надо его чистить, иначе не надо
ТабДок.Вывести(ТабДокШапка);

alexshape

Цитата: ilyay от 18 окт 2016, 11:58
ТабДок.Вывести(ТабДокШапка);

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

ilyay

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

Теги:

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

Рейтинг@Mail.ru

Поиск