Получение табличного документа из внешней печатной формы

1. v.a.t 15.03.18 15:02 Сейчас в теме
Доброго дня!

Делаю обработку по пакетному формированию печатных форм реализации в БП 3.0. Во внешних обработках есть большое количество внешних печатных форм, беда форм в том что писались разными кодерами и по разному...

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



вот так я получаю массив печатных форм, все бы хорошо но!!! Экспортная функция Печать() есть далеко не во всех ВПФ, где-то Печ, где то Напечатать и т.д.

как мне получить команды печати, или подскажите другой способ программного получения!!! табличного документа,не через ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия); , так как я не хочу их выводить на экран, а сразу отправлять на принтер, так как их примерно 1 500 штук.

Еще вопрос, есть ли в БСП универсальных механизм печати документов по ссылке, если у меня есть наименование печатной формы и обработчик печати....
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ipoloskov 159 15.03.18 15:08 Сейчас в теме
Исправить в модулях всех внешних печатных форм "Печ", "Напечатать" и т.д. на "Печать(...)". Прописать в этих процедурах правильные параметры.
Соответственно исправить вызов этих процедур из форм обработок.
Загрузить исправленные печатные формы в базу.
3. v.a.t 15.03.18 15:24 Сейчас в теме
Чувствую, так и придется сделать, а есть ли в БСП универсальных механизм печати документов по ссылке, если у меня есть наименование печатной формы и обработчик печати....?
4. join2us 14 31.03.23 15:02 Сейчас в теме
Функция для получения ТабДока из ВПФ по ИмениКомандыПечати

//}***тестировалось на БСП 3.1.4***
//}МассивОбъектовНазначения 	- массив ссылок на объекты, для которых треб. печать
//}ИдентификаторКомандыПечати 	- строка, идентификатор КомандыПечати из параметров регистрации эскп. функции СведенияОВнешнейОбработке
//}ИмяВПФ						- строка, наименование внешней печ. формы из параметров регистрации эскп. функции СведенияОВнешнейОбработке
Функция ПолучитьТабДокИзВПФ(МассивОбъектовНазначения,ИдентификаторКомандыПечати,ИмяВПФ)

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

Показать
Оставьте свое сообщение
Вакансии
Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день