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

13.04.12

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

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

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

 

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

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

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

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

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

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

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

     |ИЗ

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

     |ГДЕ

     |    

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

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

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

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

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

     

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

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

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

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

     КонецЕсли;

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

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

     КонецЕсли;

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

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

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

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

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

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

     

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

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

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

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

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

    Иначе

        Попытка

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

        Исключение

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

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

    КонецЕсли;

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

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

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    2658    Abysswalker    7    

41

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

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

14.05.2025    5679    DeerCven    15    

57

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

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

21.05.2024    46950    dimanich70    83    

166

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

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

1 стартмани

18.03.2024    6989    6    John_d    13    

59

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

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

12.02.2024    58248    atdonya    31    

68

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

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

30.11.2023    8742    ke.92@mail.ru    17    

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