Заготовка внешней печатной формы для БП 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 не будет опубликован. Обязательные поля помечены *