Внешняя печатная форма с шаблоном Word

18.05.15

Задачи пользователя - Адаптация типовых решений

Описан процесс создания внешней печатной формы, использующей шаблоны Word. Платформа 8.3

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Заготовка внешней печатной формы
.epf 22,06Kb
171
171 Скачать (1 SM) Купить за 1 850 руб.
Дополнительные отчеты и обработки (документация)
.docx 49,84Kb
26
26 Скачать (1 SM) Купить за 1 850 руб.
Печать (документация")
.docx 66,45Kb
35
35 Скачать (1 SM) Купить за 1 850 руб.

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

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

Далее необходимо определиться, каким образом будет выполняться вызов команд. И тут есть несколько вариантов: вызов клиентского метода или вызов серверного метода. Информация обо всех вариантах, в том числе и о создании внешней обработки, прикреплена ниже, "Дополнительные отчеты и обработки (документация)".

Но вот после создания возникли проблемы...

Первой была проблема получения макета, который был прикреплен к самой обработке.

Решается она очень просто, как оказалось:

&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначения) Экспорт
   
        Макет = ВыбратьМакет();
    
КонецПроцедуры

&НаСервере
Функция ВыбратьМакет();
    
    Обработка = РеквизитФормыВЗначение("Объект");
    Макет = Обработка.ПолучитьМакет("ИмяВашегоМакета").Получить(); //Например: "Макет"
    Возврат Макет;
    
КонецФункции

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

В случае необходимости получить сам объект воспользуйтесь командой "ПолучитьОбъект()".

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

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

Еще возможна проблема, когда ВПФ не подключается к документу, для которого она предназначена. В этом случае необходимо сделать следующее: "Общая  команда "ДополнительныеПечатныеФормыОбъекта" - тип параметра команда - поставить галку у вашего документа. Так что если типовая то не взлетит". Полное описание проблемы читайте тут: http://www.forum.mista.ru/topic.php?id=717768

По поводу добавления команд печати на форму, то для ВПФ, она формируется автоматически. Формирование кнопки для простой печати  и прочие вопросы, связанные с печатью описаны в документе "Печать", прикреплен ниже.

По отладке могут возникать проблемы. Поэтому создан реквизит "Ссылка на объект", Команда "Печать" и процедура в модуле формы. Чтобы войти в отладку, достаточно поставить точку останова в процедуре "ПечатьОтладка" или в другом любом месте, но только если ВПФ запущена как внешняя обработка, а не вызване непосредственно из документа. В Реквизите "СсылкаНаОбъект" поменяйте тип значения на документ, которвый вам нужен.

Приложенная заготовка протестирована и формирует документ, как на скриншотах.

 

Документация взята по ссылкам: http://its.1c.ru/db/bspdoc#content:22:hdoc:issogl2_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B0%D0%B5%D0%BC%D1%8B%D1%85%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BE%D0%B2%D0%B8%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D0%BA

http://its.1c.ru/db/bspdoc#content:40:1:issogl2_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B929

ВПФ управляемые формы внешняя печатная форма шаблоны WORD

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5510    14    5    

24

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3818    11    0    

29

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5005    dimanich70    15    

21

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    5020    dimanich70    8    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 09.11.17 15:47
Сообщение было скрыто модератором.
...
2. onec.developer 181 21.10.18 16:38 Сейчас в теме
Не работает. В этой команде отсутствует метод "Получить"
Макет = Обработка.ПолучитьМакет("ИмяВашегоМакета").Получить();
5. an1c 19.12.18 17:11 Сейчас в теме
6. an1c 19.12.18 17:12 Сейчас в теме
(2) у меня тоже так же не работает. Кто-нибудь решил проблему?
7. Idris1204 18.05.20 13:24 Сейчас в теме
(2) Обработки.ПечатьЭтикетковИЦенников.ПолучитьМакет("ИмяМакета").Получить();
3. an1c 24.11.18 13:58 Сейчас в теме
Отличная обработка!!! Спасибо от души! Очень помогли))
4. swwb 18 11.12.18 16:50 Сейчас в теме
Обработка не будет работать, если база 1С на SQL сервере. Я так понимаю, это только для файлового варианта....
Оставьте свое сообщение