Отладка внешних печатных форм и обработок

1. sajmon45 14.07.20 15:33 Сейчас в теме
Может кто подскажет как отладить внешнюю печатную форму и обработку быстро?! Пробовал как написано здесь : http://avditor.ru/index.php/programmirovanie-1s/35-otladka-vneshnej-pechatnoj-formy. Но так не работает ругается на СформироватьПечатнуюФормуСпецификации. Нет такого метода!
По теме из базы знаний
Найденные решения
3. alex-l19041 8 14.07.20 15:45 Сейчас в теме
(1) сделать форму для отладки не займет много времени
&НаКлиенте
Процедура Команда1(Команда)
		
	Массив1 = Новый Массив;
	Массив1.Добавить(Документ);
	ТабДок = ПечатьНаСервере(Массив1);
	
	ТабДок.Показать()

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

&НаСервере
Функция ПечатьНаСервере(Массив)
	Коллекция = Новый ТаблицаЗначений;
	 ИменаМакетов = Новый Массив;
	 ИменаМакетов.Добавить("Акт");
	//ИменаМакетов.Добавить("ДоверенностьВнешняяСПомощником");

	 
	 Коллекция = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ИменаМакетов);
	
	 СписокОбъектов = Новый СписокЗначений;
	 СписокОбъектов.Добавить(Массив[0]);
	
	ПараметрыВывода = Новый Структура;
	ОбъектыПечати =  Массив;
	Об = РеквизитФормыВЗначение("Объект");
	
	Об.печать(Массив, Коллекция, СписокОбъектов, ПараметрыВывода) ;

	
	Если Коллекция.Количество() > 0 Тогда
	 ТекТабДок = Коллекция.Получить(0).ТабличныйДокумент;
     Иначе
	    ТекТабДок = Новый ТабличныйДокумент
	КонецЕсли ;
	
	Возврат ТекТабДок
КонецФункции


Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. andy_zhav 197 14.07.20 15:44 Сейчас в теме
(1) в подключенном виде сложно. Или даже не возможно, если речь идет о БСП.

Сохраняйте обработку на локальную файловую систему, добавляйте форму обработки (если еще нету). На форму кнопку сформировать, табличныйдокумент и ссылку с нужным типом.

код простой:


&НаСервере
Процедура СформироватьНаСервере()
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	Массив = Новый Массив;
	Массив.Добавить(Ссылка);
	ТабличныйДокумент = ОбработкаОбъект.СформироватьПечатнуюФорму(Массив); // тут ваша функция, которая формирует табличный документ с нужным набором параметров
КонецПроцедуры

&НаКлиенте
Процедура Сформировать(Команда)
	СформироватьНаСервере();
КонецПроцедуры
Показать
alex-l19041; +1 Ответить
6. sajmon45 14.07.20 15:48 Сейчас в теме
(2) СформироватьПечатнуюФорму функция - если она находится в модуле объекта, то ее суда переносить?
8. Rain88 373 14.07.20 16:10 Сейчас в теме
(6) Да в модуле объекта у вас должна быть функция "СформироватьПечатнуюФорму", при чем "Экспортная", иначе с формы вы до нее не достучитесь.
3. alex-l19041 8 14.07.20 15:45 Сейчас в теме
(1) сделать форму для отладки не займет много времени
&НаКлиенте
Процедура Команда1(Команда)
		
	Массив1 = Новый Массив;
	Массив1.Добавить(Документ);
	ТабДок = ПечатьНаСервере(Массив1);
	
	ТабДок.Показать()

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

&НаСервере
Функция ПечатьНаСервере(Массив)
	Коллекция = Новый ТаблицаЗначений;
	 ИменаМакетов = Новый Массив;
	 ИменаМакетов.Добавить("Акт");
	//ИменаМакетов.Добавить("ДоверенностьВнешняяСПомощником");

	 
	 Коллекция = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ИменаМакетов);
	
	 СписокОбъектов = Новый СписокЗначений;
	 СписокОбъектов.Добавить(Массив[0]);
	
	ПараметрыВывода = Новый Структура;
	ОбъектыПечати =  Массив;
	Об = РеквизитФормыВЗначение("Объект");
	
	Об.печать(Массив, Коллекция, СписокОбъектов, ПараметрыВывода) ;

	
	Если Коллекция.Количество() > 0 Тогда
	 ТекТабДок = Коллекция.Получить(0).ТабличныйДокумент;
     Иначе
	    ТекТабДок = Новый ТабличныйДокумент
	КонецЕсли ;
	
	Возврат ТекТабДок
КонецФункции


Показать
4. andy_zhav 197 14.07.20 15:45 Сейчас в теме
ну а потом открываете внешнюю форму и отлаживаете ее
alex-l19041; +1 Ответить
5. sajmon45 14.07.20 15:46 Сейчас в теме
(4)А если она прикреплена к форме!
7. alex-l19041 8 14.07.20 15:58 Сейчас в теме
(5) так внешняя печатная форма или нет ?
9. sajmon45 15.07.20 11:50 Сейчас в теме
Всем спасибо, получилось)
10. progr-2008 118 28.12.20 22:59 Сейчас в теме
Подскажите, где есть обработка для отладки с остановом обычной внешней печатной формы УПП?
После 8.3.5 останов не работает.
Оставьте свое сообщение

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