Ребят, привет. Вопрос; Есть процедура ДействияФормыПечать(Кнопка), и есть функция Печать(), которая заполняет макет данными. Когда жму на кнопку печать и выбираю нужную мне из списка, макет не выводится (хотя через точку остановы проверяю выборку функции,данные выбираются корректно). В чем я ошибся?

```1c
    Процедура ДействияФормыПечать(Кнопка)
    // Вставить содержимое обработчика.

    Если не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда

    Предупреждение("Печать этой формы возможна только для события "Печать накладной"!");
    Возврат;
    КонецЕсли;

    ПечатьНакладной();

    КонецПроцедуры

    Функция ПечатьНакладной()

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

    //Получим макет
    Макет = ПолучитьМакет("МакетНакладной");

    //Получим области макета
    ОбластьШапкаТаб = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрокаТаб = Макет.ПолучитьОбласть("Строка");
    ОбластьПодСтрокойТаб = Макет.ПолучитьОбласть("ПодСтрокой");
    ОбластьПодвалТаб = Макет.ПолучитьОбласть("Подвал");

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

    //Заполнение таблицы
    Для каждого СтрокаНом из Товары цикл
    ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
    ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
    ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);
    КонецЦикла;
    Возврат ТабДок;
    ТабДок.Вывести(ОбластьШапкаТаб);
    ТабДок.Вывести(ОбластьСтрокаТаб);
    ТабДок.Вывести(ОбластьПодСтрокойТаб);
    ТабДок.Вывести(ОбластьПодвалТаб);
    КонецФункции
```
---
Решение:

```1c
    Процедура ДействияФормыПечать(Кнопка)
    // Вставить содержимое обработчика.

    Если не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда

    Предупреждение("Печать этой формы возможна только для события "Печать накладной"!");
    Возврат;
    КонецЕсли;

    ПечатьНакладной();

    КонецПроцедуры

    Процедура ПечатьНакладной()

    ТабДок = Новый ТабличныйДокумент;

    //Получим макет
    Макет = ПолучитьМакет("МакетНакладной");

    //Получим области макета
    ОбластьШапкаТаб = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрокаТаб = Макет.ПолучитьОбласть("Строка");
    ОбластьПодСтрокойТаб = Макет.ПолучитьОбласть("ПодСтрокой");
    ОбластьПодвалТаб = Макет.ПолучитьОбласть("Подвал");

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

    //Заполнение таблицы
    Для каждого СтрокаНом из Товары цикл
    ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
    ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
    ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);

    ТабДок.Вывести(ОбластьСтрокаТаб);
    КонецЦикла;

    ТабДок.Вывести(ОбластьПодСтрокойТаб);
    ТабДок.Вывести(ОбластьПодвалТаб);

    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.Показать("Макет");

    КонецПроцедуры
```
---
Возврат ТабДок;
ТабДок.Вывести(ОбластьШапкаТаб);
ТабДок.Вывести(ОбластьСтрокаТаб);
ТабДок.Вывести(ОбластьПодСтрокойТаб);
ТабДок.Вывести(ОбластьПодвалТаб);
ТабДок.Вывести не отработают, так как находятся после Возврат.
В цикле идет заполнение параметров, но не происходит ТабДок.Вывести. Нужно выводить так же внутри цикла.
---
Закинул Вывести в цикл, но без изменений, макет так и не выводится

```1c
    Для каждого СтрокаНом из Товары цикл

    ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
    ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
    ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);

    ТабДок.Вывести(ОбластьШапкаТаб);
    ТабДок.Вывести(ОбластьСтрокаТаб);
    ТабДок.Вывести(ОбластьПодСтрокойТаб);
    ТабДок.Вывести(ОбластьПодвалТаб);

    КонецЦикла;

    Возврат ТабДок;

    КонецФункции
```
---
в клиентской процедуре ДействияФормыПечать указано:
ПечатьНакладной();
Нужно так:

```1c
    ТабДок = ПечатьНакладной();
    ТабДок.Показать()
```
---
и вывод областей нужно не такое.
Как-то так:

```1c
    ТабДок.Вывести(ОбластьШапкаТаб);
    Для каждого СтрокаНом из Товары цикл

    ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
    ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
    ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);

    ТабДок.Вывести(ОбластьСтрокаТаб);
    ТабДок.Вывести(ОбластьПодСтрокойТаб);

    КонецЦикла;
    ТабДок.Вывести(ОбластьПодвалТаб);
    Возврат ТабДок;

    КонецФункции
```
---
```1c
    Возврат ТабДок;
```
---
Воврат ТабДок есть; ))
КонецЦикла;

```1c
    [1C-CODE]Возврат ТабДок; /////////////////////////////////////////
    ТабДок.Вывести(ОбластьШапкаТаб);
    ТабДок.Вывести(ОбластьСтрокаТаб);
    ТабДок.Вывести(ОбластьПодСтрокойТаб);
    ТабДок.Вывести(ОбластьПодвалТаб);
    КонецФункции
```
[/1C-CODE]
---
области для вывода перенесите перед возвратом. ОбластьСтрока в цикле должна быть и т.д.
---
Попробовал сделать так, результат не изменился
---
измененный код выложите
---
Решение:

```1c
    Процедура ДействияФормыПечать(Кнопка)
    // Вставить содержимое обработчика.

    Если не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда

    Предупреждение("Печать этой формы возможна только для события "Печать накладной"!");
    Возврат;
    КонецЕсли;

    ПечатьНакладной();

    КонецПроцедуры

    Процедура ПечатьНакладной()

    ТабДок = Новый ТабличныйДокумент;

    //Получим макет
    Макет = ПолучитьМакет("МакетНакладной");

    //Получим области макета
    ОбластьШапкаТаб = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтрокаТаб = Макет.ПолучитьОбласть("Строка");
    ОбластьПодСтрокойТаб = Макет.ПолучитьОбласть("ПодСтрокой");
    ОбластьПодвалТаб = Макет.ПолучитьОбласть("Подвал");

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

    //Заполнение таблицы
    Для каждого СтрокаНом из Товары цикл
    ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
    ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
    ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
    ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);

    ТабДок.Вывести(ОбластьСтрокаТаб);
    КонецЦикла;

    ТабДок.Вывести(ОбластьПодСтрокойТаб);
    ТабДок.Вывести(ОбластьПодвалТаб);

    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.Показать("Макет");

    КонецПроцедуры
```