Функция для печати пользовательских внешних печатных форм

13.04.12

Разработка - Универсальные функции

Данная функция позволяет печатать пользовательские внешние печатные формы. Работает в УТ, в других конфах не проверял.

В функцию передается Ссылка на объект для которого есть внешняя печатная форма в справочнике "Дополнительные внешние печатные формы",Имя внешней формы как она задана в справочнике, количество экземпляров на печать, печать на принтер ,имя принтера.

 

Процедура НапечататьВнешнююФорму (СсылкаНаОбъект,ИмяВнешнийФормы,КоличествоЭкземпляров,НаПечать = Ложь,ИмяПринтера = "") Экспорт

     Запрос = Новый Запрос;

     Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ

     |    ВнешниеОбработкиПринадлежность.Ссылка КАК Ссылка,

     |    ВнешниеОбработкиПринадлежность.ЗаменяемаяПечатнаяФорма КАК ЗаменяемаяПечатнаяФорма, 

     |    ВнешниеОбработкиПринадлежность.Ссылка.ВидОбработки КАК ВидОбработки,

     |    ВнешниеОбработкиПринадлежность.НомерСтроки

     |ИЗ

     |    Справочник.ВнешниеОбработки.Принадлежность КАК ВнешниеОбработкиПринадлежность

     |ГДЕ

     |    

     |    ВнешниеОбработкиПринадлежность.СсылкаОбъекта = &Ссылка

     |    И (ВнешниеОбработкиПринадлежность.Ссылка.ВидОбработки = &ВидОбработкиПечатнаяФорма)

     |    И (НЕ ВнешниеОбработкиПринадлежность.ЗаменяемаяПечатнаяФорма ССЫЛКА Справочник.ВнешниеОбработки)

     |    И (НЕ ВнешниеОбработкиПринадлежность.Ссылка.ПометкаУдаления)

     |    И ВнешниеОбработкиПринадлежность.Ссылка.Наименование = &АктОтгрузки    ";

     

     ЭтоДокумент = Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СсылкаНаОбъект));

     ЭтоСправочник = Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СсылкаНаОбъект));

     Если ЭтоДокумент Тогда

         Запрос.УстановитьПараметр("Ссылка", Документы[СсылкаНаОбъект.Метаданные().Имя].ПустаяСсылка());   //СсылкаНаОбъект.Метаданные()          

     КонецЕсли;

     Если ЭтоСправочник Тогда

         Запрос.УстановитьПараметр("Ссылка", Справочники[СсылкаНаОбъект.Метаданные().Имя].ПустаяСсылка());

     КонецЕсли;

     Запрос.УстановитьПараметр("ВидОбработкиПечатнаяФорма", Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма);     

     Запрос.УстановитьПараметр("АктОтгрузки", ИмяВнешнийФормы);                                                           

     Выборка = Запрос.Выполнить().Выбрать();

     Выборка.Следующий();

     СтруктураРасшифровки = Новый Структура("ВидПечатнойФормы, СсылкаНаВнешнююОбработку, ЗаменяемаяПечатнаяФорма, НомерСтроки", 

     Выборка.ВидОбработки,Выборка.Ссылка, Выборка.ЗаменяемаяПечатнаяФорма, Выборка.НомерСтроки);

     

     ТабДок = УниверсальныеМеханизмы.НапечататьВнешнююФорму(СсылкаНаОбъект,СтруктураРасшифровки);

    ТабДок.ИмяПринтера = ИмяПринтера;

    ТабДок.КоличествоЭкземпляров = КоличествоЭкземпляров;

    Если Не НаПечать Тогда

        ТабДок.Показать();

    Иначе

        Попытка

            ТабДок.Напечатать();

        Исключение

            Сообщить(ОписаниеОшибки());

        КонецПопытки

    КонецЕсли;

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Универсальные функции Работа с интерфейсом Программист 1С v8.3 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    3500    DeerCven    8    

47

Универсальные функции Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    41144    dimanich70    83    

157

Универсальные функции Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    6042    6    John_d    11    

58

Универсальные функции Программист Стажер 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    49435    atdonya    30    

66

Универсальные функции Программист 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    7812    ke.92@mail.ru    17    

66

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    21058    YA_418728146    8    

174
Для отправки сообщения требуется регистрация/авторизация