Заготовка внешней печатной формы для БП 3.0 (управляемые формы, собственный макет) (Пример приведен для документа Реализация товаров и услуг)

Готовая работающая внешняя печатная форма для бухгалтерии предприятия 3.0 с СОБСТВЕННЫМ МАКЕТОМ и позволяющая достаточно легко перенести внешние печатные формы из бухгалтерии предприятия 2.0 (БП 2.0). Сейчас настроена на подключение к документу Реализация товаров и услуг (изменив одну строку, можно подключить к любому документу).

Отлаживать можно, не подключая к внешним печатным формам, а просто открыв как внешнюю обработку.

Цель публикации — начинающим переходить на бухгалтерию 3.0 облегчить задачу по поиску, как это сделать. Хочу сохранить время тем, кто переходит с БП 2.0 на БП 3.0 (честно говоря, и нервы)   🙂

Вся суть обработки находится в модуле объекта данной обработки в процедуре Печать(). Заполнение печатной формы происходит там. Макет находится в макетах опять-таки данной обработки, и сейчас он называется «Макет».

Для того, чтобы включить возможность использования внешних печатных форм, нужно разрешить их использование в БП 3.0. Администрирование -> Настройки (на панели действий) -> Настройки программы -> Дополнительные отчеты и обработки -> V Использовать дополнительные отчеты и обработки. 

Для подключения внешней печатной формы: Администрирование -> Дополнительные отчеты и обработки (на панели навигации) -> Создать -> Выбрать нужный файл -> Записать и закрыть. После этого новая печатная форма автоматически появится в списке печатных форм у документа.

Приятной работы!

 

29 Comments

  1. Fominro

    Действительно удобно в качестве заготовки.

    Reply
  2. DnsRzv

    (1) Fominro, Спасибо, за комментарий.

    Reply
  3. DnsRzv

    Видео демонстрирующее подключение внешней печатной формы Товарный чек — http://infostart.ru/public/201619/

    http://youtu.be/ZulgdPEgq2Q

    Reply
  4. Fraktalov

    Очень пригодилась спасибо!)

    Reply
  5. KliMich

    Спасибо! Как раз понадобилось.

    Reply
  6. root901

    Возьму на заметку

    Reply
  7. rinik88

    Спасибо.

    Reply
  8. dlink

    обновили Бух до 3.0.30.12, через файл запускаем пишет ошибка «Поле объекта недоступно для записи (ЭтотОбъект)

    Reply
  9. DnsRzv

    (9) dlink, Спасибо за внимание к внешней печатной форме.

    Закачал новую версию.

    В старой версии достаточно изменить в модуле формы:

    (Строка 14) ЭтотОбъект =

    (Строка 25) ЭтотОбъект.Печать(

    на

    ЭтотОбъектВПФ =

    ЭтотОбъектВПФ.Печать(

    Reply
  10. higs

    Однако, при попытке добавления во внешние печатные формы ТОРГ-12 вывалила следующую ошибку

    Ошибка инициализации модуля: ВнешняяОбработка.ВПФ_Реализация_Торг12_СУслугами.МодульОбъекта

    по причине:

    {ВнешняяОбработка.ВПФ_Реализация_Торг12_СУслугами.МодульОбъекта(1050,28)}: Переменная не определена (ФизическиеЛица)

    ЗаместительПоПриказу = <<?>>ФизическиеЛица.ФамилияИнициалыФизЛица(Шапка.Руководитель);

    {ВнешняяОбработка.ВПФ_Реализация_Торг12_СУслугами.МодульОбъекта(1066,26)}: Переменная не определена (ФизическиеЛица)

    ФИОГлавныйБухгалтер = <<?>>ФизическиеЛица.ФамилияИнициалыФизЛица(Шапка.ГлавныйБухгалтер) + » » + Шапка.ЗаГлавногоБухгалтераПоПриказу;

    {ВнешняяОбработка.ВПФ_Реализация_Торг12_СУслугами.МодульОбъекта(1073,19)}: Переменная не определена (ФизическиеЛица)

    ФИОКладовщик = <<?>>ФизическиеЛица.ФамилияИнициалыФизЛица(Шапка.ОтпускПроизвел);

    1С:Предприятие 8.3 (8.3.4.365)

    Бухгалтерия предприятия, редакция 3.0 (3.0.30.12)

    Оказалось, поменяли общий модуль ФизическиеЛица на ФизическиеЛицаКлиентСервер. Исправил — заработало!! Спасибо!!

    Reply
  11. DnsRzv

    (11) higs, Спасибо за внимание к данной внешней печатной форме!

    Reply
  12. jawarx

    что за дела скачал первый файл а там не ТОГР 12

    Reply
  13. DnsRzv

    (13) jawarx, Торг-12 в третьем файле.

    Reply
  14. DnsRzv

    Для версии бухгалтерии 3.0.30 закачал новые версии.

    Для тех кто скачал, нужно сделать следующее:

    В модуле объекта измените:

    ПараметрыРегистрации.Версия = «1.0»;

    На:

    ПараметрыРегистрации.Версия = «1.0.0.1»;

    ПараметрыРегистрации.ВерсияБСП = «2.2.2.0»;

    Для Торг-12 дополнительно:

    Бухгалтерия предприятия, редакция 3.0 с (3.0.30)

    Поменяли общий модуль ФизическиеЛица на ФизическиеЛицаКлиентСервер.

    Измените: ФизическиеЛица

    на: ФизическиеЛицаКлиентСервер

    У кого отключились внешние печатные формы сделайте следующее:

    В дополнительных отчетах и обработках -> Изменить -> Публикация -> Используется

    Reply
  15. AlexLM75

    Спасибо за заготовку! Отличная идея сделать подобное!

    Reply
  16. Puk2

    Посмотрел на код (скачал ТОРГ12) — сразу понял где косяк. Необходимо заменить функцию печать на корректную:

    Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,»АвансовыйОтчетВнешний»,»Авансовый отчет (внешний)»,ПечатьАвансовогоОтчета(МассивОбъектов, ОбъектыПечати));
    КонецПроцедуры
    

    Поясню: одна из «фишек» 8.2 (и выше), поддерживаемая функциями БСП — возможность множественного выделения и обработки объектов.

    Выделяем любые объекты (Ctrl+A, Shift+клик или стрелки, Ctrl+клик) и выполняем команды (печать, передачу в параметр для групповой обработки и т.д.) прямо в формах списка и выбора.

    Именно поэтому передается в параметр массив объектов, а не одна ссылка как в механизмах предыдущих версий. В вашем примере при множественном выделении отобразится только печатная форма последнего документа.

    Необходимо вызывать функцию из модуля УправлениеПечатью, который входит в подсистему Печать подсистемы Стандартные подсистемы (БСП). Будет работать и в БСП 2.2 и в БСП 2.1, т.е. в любой конфигурации, разработанной под управляемые формы.

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

    И добавить следующую функцию:

    // Возвращает сведения о внешней обработке.
    Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(«2.1.3.1»);
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = «0.9»;
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    ПараметрыРегистрации.Назначение.Добавить(«Документ.АвансовыйОтчет»);
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр(«ru = ‘Авансовый отчет (Внешний)'»);
    НоваяКоманда.Идентификатор = «АвансовыйОтчетВнешний»;
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.ПоказыватьОповещение = Истина;
    НоваяКоманда.Модификатор = «ПечатьMXL»;
    
    Возврат ПараметрыРегистрации;
    
    КонецФункции
    

    Показать

    Если есть доступ к ИТС и желание разобраться с подсистемой печати в новых конфигурациях, то советую ИТС. Стандартные библиотеки: 3.33 Печать

    Reply
  17. Puk2

    Советую так же более подробную и, ИМХО, правильную публикацию Шаблон внешней печатной формы в управляемом приложении. Пример создания печатной формы.

    Reply
  18. DnsRzv

    (17) Puk2, Спасибо, за внимание к данной внешней печатной форме!

    Reply
  19. dimawar

    не могу скачать эту форму. SM снялся, вышло окошко о том, что скачивание началось, но на самом деле ничего не произошло. Почему так?

    Reply
  20. DnsRzv

    (20) dimawar, я не знаю почему, у всех скачивается. Все у кого не удалось скачать (как например 20. dimawar (файл скачал) 11.09.2014 03:59), а стартмани снялись пришлите в личку свой адрес электронной почты, я Вам пришлю по почте.

    Reply
  21. dimawar

    (21) сегодня скачалось 🙂 вчера видать что-то было… Спасибо!

    Reply
  22. mzelensky

    Спасибо за примерчик — пойду крутить

    Reply
  23. Душечка

    ОГРОМНОЕ СПАСИБО !!!

    ОЧЕНЬ ВЫРУЧИЛИ

    Reply
  24. Soikalv

    Очень интересная обработка. ведь при переходе на 8.3 не удалось сконвертировать ни одной обработки.

    Reply
  25. mavom

    Спасибо! Помогло.

    Reply
  26. vasya8070

    пасибо. Пригодится

    Reply
  27. Cyberhawk

    Благодарю, пригодилось

    Reply
  28. Zamik

    Тут есть небольшой косяк, даже 2.

    «ОбъектыПечати» это не структура, а массив

    В процедуре ПечатьДокумента нужна вот такая вставка:

      УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
    НомерСтрокиНачало, ОбъектыПечати, СведенияОДокументе.Документ);

    Без нее, а точнее с пустым массивом «ОбъектыПечати» не работает кнопка отправить, в форме вывода печатного документа.

    Reply
  29. DnsRzv

    (29) Zamik, Спасибо за внимание к данной внешней печатной форме.

    «ОбъектыПечати» — это список значений, изменил.

    Добавил УправлениеПечатью.ЗадатьОбластьПечатиДокумента.

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

    Выложил новую версию

    Внешная печатная форма для БП 3.0

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *