Вывод макета на печать

1. user1619761 20.07.21 10:06 Сейчас в теме
Ребят, привет. Вопрос; Есть процедура ДействияФормыПечать(Кнопка), и есть функция Печать(), которая заполняет макет данными. Когда жму на кнопку печать и выбираю нужную мне из списка, макет не выводится (хотя через точку остановы проверяю выборку функции,данные выбираются корректно). В чем я ошибся?
Процедура ДействияФормыПечать(Кнопка)
	// Вставить содержимое обработчика.
	
	Если  не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда
		
		Предупреждение("Печать этой формы возможна только для события ""Печать накладной""!"); 
		Возврат;
	КонецЕсли;
	
	
	ПечатьНакладной();
	
КонецПроцедуры

Функция ПечатьНакладной()
	
	ТабДок = Новый ТабличныйДокумент;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
	
	//Получим макет
	Макет = ПолучитьМакет("МакетНакладной");
	
	//Получим области макета
	ОбластьШапкаТаб = Макет.ПолучитьОбласть("Шапка");
	ОбластьСтрокаТаб = Макет.ПолучитьОбласть("Строка");
	ОбластьПодСтрокойТаб = Макет.ПолучитьОбласть("ПодСтрокой");
	ОбластьПодвалТаб = Макет.ПолучитьОбласть("Подвал");
	
	//ТабДок.Вывести(ОбластьШапкаТаб);
	
	//Заполнение таблицы
	Для каждого СтрокаНом из  Товары цикл
		ОбластьСтрокаТаб.Параметры.Наименование = СтрокаНом.Товар;
		ОбластьСтрокаТаб.Параметры.Адрес = СтрокаНом.Адрес;
		ОбластьПодСтрокойТаб.Параметры.Размещение = СтрокаНом.Корпус;
		ОбластьПодСтрокойТаб.Параметры.Адрес = СтрокаНом.Адрес;
		ОбластьПодСтрокойТаб.Параметры.Дата = Сред(Сокрлп(Дата),1,10);
	КонецЦикла;
	Возврат ТабДок;
	ТабДок.Вывести(ОбластьШапкаТаб);
	ТабДок.Вывести(ОбластьСтрокаТаб);
	ТабДок.Вывести(ОбластьПодСтрокойТаб);
	ТабДок.Вывести(ОбластьПодвалТаб);
КонецФункции
Показать
По теме из базы знаний
Найденные решения
11. user1619761 21.07.21 12:17 Сейчас в теме
Решение:

Процедура ДействияФормыПечать(Кнопка)
    // Вставить содержимое обработчика.
    
    Если  не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда
        
        Предупреждение("Печать этой формы возможна только для события ""Печать накладной""!"); 
        Возврат;
    КонецЕсли;
    
    
    ПечатьНакладной();
    
КонецПроцедуры

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

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

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


КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 20.07.21 10:13 Сейчас в теме
(1)
Возврат ТабДок;
ТабДок.Вывести(ОбластьШапкаТаб);
ТабДок.Вывести(ОбластьСтрокаТаб);
ТабДок.Вывести(ОбластьПодСтрокойТаб);
ТабДок.Вывести(ОбластьПодвалТаб);

ТабДок.Вывести не отработают, так как находятся после Возврат.
В цикле идет заполнение параметров, но не происходит ТабДок.Вывести. Нужно выводить так же внутри цикла.
6. user1619761 20.07.21 10:21 Сейчас в теме
(3) Закинул Вывести в цикл, но без изменений, макет так и не выводится

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

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

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

КонецЦикла;

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

КонецФункции
Показать
8. spacecraft 20.07.21 10:25 Сейчас в теме
(6) в клиентской процедуре ДействияФормыПечать указано:
ПечатьНакладной();
Нужно так:
ТабДок = ПечатьНакладной();
ТабДок.Показать()
9. spacecraft 20.07.21 10:29 Сейчас в теме
(6) и вывод областей нужно не такое.
Как-то так:
ТабДок.Вывести(ОбластьШапкаТаб);
Для каждого СтрокаНом из Товары цикл

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

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


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

КонецФункции
Показать
2. DenisVol 3 20.07.21 10:11 Сейчас в теме
4. user1619761 20.07.21 10:14 Сейчас в теме
(2) Воврат ТабДок есть; ))
КонецЦикла;
[1C-CODE]Возврат ТабДок; /////////////////////////////////////////
ТабДок.Вывести(ОбластьШапкаТаб);
ТабДок.Вывести(ОбластьСтрокаТаб);
ТабДок.Вывести(ОбластьПодСтрокойТаб);
ТабДок.Вывести(ОбластьПодвалТаб);
КонецФункции
[/1C-CODE]
5. DenisVol 3 20.07.21 10:16 Сейчас в теме
(4) области для вывода перенесите перед возвратом. ОбластьСтрока в цикле должна быть и т.д.
7. user1619761 20.07.21 10:22 Сейчас в теме
(5) Попробовал сделать так, результат не изменился
10. tolyan_ekb 104 21.07.21 09:33 Сейчас в теме
(7) измененный код выложите
11. user1619761 21.07.21 12:17 Сейчас в теме
Решение:

Процедура ДействияФормыПечать(Кнопка)
    // Вставить содержимое обработчика.
    
    Если  не Событие = Справочники.СобытияПечати.НайтиПоКоду("000000017") тогда
        
        Предупреждение("Печать этой формы возможна только для события ""Печать накладной""!"); 
        Возврат;
    КонецЕсли;
    
    
    ПечатьНакладной();
    
КонецПроцедуры

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

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

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


КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот