Всем привет!
Подскажите пожалуйста, создала макет, вызываю его через общую форму "ПечатьДокументов". Но почему-то не работает переключение печати и подписи, хотя сам флаг отображается.
Я так понимаю, нужно перед возвратом ТабличногоДокумента нужно как-то использовать УправлениеПечатьюБП.ДоработатьФаксимильнуюПодписьИПечать (или что-то в этом духе), но у меня не получается. Ниже сам код (Платформа 8.3.24.1738, БП 3.0.161.22)
//Заполнение макета
&НаСервере
Функция ПечатьЗаявка(ИмяМакета)
ТабДокумент = Новый ТабличныйДокумент;
Макет = Документы.Заявка.ПолучитьМакет(ИмяМакета);
//Тут код для заполнения макета
ВывестиПодписьФаксимиле(ОбластьКонецТаблицы);
ТабДокумент.Вывести(ОбластьКонецТаблицы);
Возврат ТабДокумент;
КонецФункции
&НаКлиенте
Процедура КнопкаПечатьЗаявка(Команда)
ТабДокумент = ПечатьЗаявка("Заявка");
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Заявка");
ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, "Заявка");
ПечатнаяФорма.СинонимМакета = "Заявка";
ПечатнаяФорма.ТабличныйДокумент = ТабДокумент;
ПечатнаяФорма.ИмяФайлаПечатнойФормы = "Заявка";
ОбластиОбъектов = Новый СписокЗначений;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбластиОбъектов);
КонецПроцедуры
//Заполнение рисунков "ФаксимилеПечать" и "ФаксимилеРуководитель" из присоединенных файлов
Процедура ВывестиПодписьФаксимиле(ОбластьПечати)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ОрганизацииПрисоединенныеФайлы.Ссылка КАК ФайлКартинкиПечать
|ПОМЕСТИТЬ ВТ_печатьОрг
|ИЗ
| Справочник.ОрганизацииПрисоединенныеФайлы КАК ОрганизацииПрисоединенныеФайлы
|ГДЕ
| НЕ ОрганизацииПрисоединенныеФайлы.ПометкаУдаления
| И ОрганизацииПрисоединенныеФайлы.Наименование = ""Печать""
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ФизическиеЛицаПрисоединенныеФайлы.Ссылка КАК ФайлКартинкиПодпись,
| ВТ_печатьОрг.ФайлКартинкиПечать КАК ФайлКартинкиПечать
|ИЗ
| ВТ_печатьОрг КАК ВТ_печатьОрг
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы
| ПО (ИСТИНА)
|ГДЕ
| НЕ ФизическиеЛицаПрисоединенныеФайлы.ПометкаУдаления
| И ФизическиеЛицаПрисоединенныеФайлы.Наименование = ""Подпись директора""
| И ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла.ФИО = ""Петров Иван Александрович""";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВывестиПечать = Истина;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВывестиПечать Тогда
ФайлКартинкиПечать = ВыборкаДетальныеЗаписи.ФайлКартинкиПечать;
Картинка = ПолучитьДвоичныеДанныеКартинку(ФайлКартинкиПечать);
ОбластьПечати.Рисунки.ФаксимилеПечать.Картинка = Картинка;
ВывестиПечать = Ложь;
КонецЕсли;
Картинка = ПолучитьДвоичныеДанныеКартинку(ВыборкаДетальныеЗаписи.ФайлКартинкиПодпись);
ОбластьПечати.Рисунки.ФаксимилеРуководитель.Картинка = Картинка;
КонецЦикла;
КонецПроцедуры
Функция ПолучитьДвоичныеДанныеКартинку(ФайлКартинки)
ДвоичныеДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(ФайлКартинки);
Если ТипЗнч(ДвоичныеДанныеФайла) = Тип("Картинка") Тогда
Картинка = ДвоичныеДанныеФайла;
ИначеЕсли ТипЗнч(ДвоичныеДанныеФайла) = Тип("ДвоичныеДанные") Тогда
Картинка = Новый Картинка(ДвоичныеДанныеФайла);
Иначе
Картинка = Новый Картинка;
КонецЕсли;
Возврат Картинка;
КонецФункции
Показать