область макета не обнаружена,хотя ее и нету(
☑
0
serg-lom89
06.06.17
✎
11:11
ДОбрый день
Прошу помощи
Из обработки по кнопке вызываю из справочника внешние печатные формы мой макет.
Определяю сколько у него страниц
ИмяМакета_ПредПечати = Справочники.ДополнительныеПечатныеФормы.НайтиПоНаименованию("моймакет");
ИмяФайла_ПредПечати = КаталогВременныхФайлов()+"PrnForm.tmp";
ОбъектВнешнейФормы_ПредПечати = ИмяМакета_ПредПечати.ПолучитьОбъект();
Если ОбъектВнешнейФормы_ПредПечати <> Неопределено Тогда
ДвоичныеДанные_ПредПечати = ОбъектВнешнейФормы_ПредПечати.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные_ПредПечати.Записать(ИмяФайла_ПредПечати);
Обработка_ПредПечати = ВнешниеОбработки.Создать(ИмяФайла_ПредПечати);
Обработка_ПредПечати.СсылкаНаОбъект = текДокумент;
ТабДокумент_ПредПечати = Обработка_ПредПечати.Печать();
КолВоСтраниц = ТабДокумент_ПредПечати.КоличествоСтраниц();
Если КолВоСтраниц = 1 Тогда
ВидФормыПечати = "БезПриложения";
ИначеЕсли КолВоСтраниц > 1 Тогда
ВидФормыПечати = "СПриложением";
КонецЕсли;
и затем как определил какой формы,вызываю дальше по печ формы.
ИмяМакета = Справочники.ДополнительныеПечатныеФормы.НайтиПоНаименованию("Макет2");
текДокументОбъект.Печать(ИмяМакета);
Предупреждение("Вставьте белые листы для печати приложения!!!");
ИмяМакета = Справочники.ДополнительныеПечатныеФормы.НайтиПоНаименованию("Макет3");
текДокументОбъект.Печать(ИмяМакета);
и на второй печ форме вылетает ошибка что область макета не обнаружена.
Иду в макет,и оказывается этой области нету,и если вызвать ее из макет,то все ок.
1
serg-lom89
06.06.17
✎
11:13
схема такая сложная,но сам вопрос остается открытым !)
2
Альбатрос
06.06.17
✎
11:15
текДокументОбъект.Печать(ИмяМакета);
Сюда надо именно ссылку на справочник передавать, а не строковый идентификатор макета?
3
serg-lom89
06.06.17
✎
11:17
(2) да не,Все ок.
Там получается смотрит макет является ли ссылкой на спр внешние печ формы
4
serg-lom89
06.06.17
✎
11:27
перед ()+"PrnForm.tmp"; надо добавлять какой нить уникальный номер,вроде помогло
5
dezss
06.06.17
✎
11:30
>>Иду в макет,и оказывается этой области нету,и если вызвать ее из макет,то все ок.
Какой-то поток сознания. Не ленись описывать проблему более полно, а не только копипастой кода.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн