Внешняя печатная форма с шаблоном Word
Пробуя создать внешнюю печатную форму, используя шаболоны из Word, столкнулся с множеством проблем. В результате нашел простой и в моем случае очень удобный способ реализации задач данного вида.
Первое, что необходимо сделать, это собственно создать внешнюю печатную форму. Создается она просто и в интернете полно информации, как это делать.
Далее необходимо определиться, каким образом будет выполняться вызов команд. И тут есть несколько вариантов: вызов клиентского метода или вызов серверного метода. Информация обо всех вариантах, в том числе и о создании внешней обработки, прикреплена ниже, «Дополнительные отчеты и обработки (документация)».
Но вот после создания возникли проблемы.
Первой была проблема получения макета, который был прикреплен к самой обработке.
Решается она очень просто, как оказалось:
Таким образом удалось получить макет, который по сути уже является вордовским документом. То есть никаких дополнительных дейсвий выполнять не надо, берем и работаем.
В случае необходимости получить сам объект воспользуйтесь командой «ПолучитьОбъект()».
Так как используется вызов клиентского метода, то в процедуре печати есть всего 2 параметра, что также очень удобно. Параметры определяют, какой командой была вызвана печать и какой/какие объекты печатаются.
С вызовом серверного метода не разбирался, но и не очень хотелось, так как очень понравился клиентский. Ниже также прикреплен файл заготовки внешней печатной формы на шаблоне ворд, содержищий подробные коментарии по выполняемым действиям и примеры некоторые команды работы с вордовским документом/макетом, а также документация по процедуре «Печать()»
По поводу добавления команд печати на форму, то для ВПФ, она формируется автоматически. Формирование кнопки для простой печати и прочие вопросы, связанные с печатью описаны в документе «Печать», прикреплен ниже.
По отладке могут возникать проблемы. Поэтому создан реквизит «Ссылка на объект», Команда «Печать» и процедура в модуле формы. Чтобы войти в отладку, достаточно поставить точку останова в процедуре «ПечатьОтладка» или в другом любом месте, но только если ВПФ запущена как внешняя обработка, а не вызване непосредственно из документа. В Реквизите «СсылкаНаОбъект» поменяйте тип значения на документ, которвый вам нужен.
Приложенная заготовка протестирована и формирует документ, как на скриншотах.
Использование шаблонов Word в 1С
Использование шаблонов Word в 1С
В работе программиста 1С, данный функционал требуется крайне редко, хотя благодаря нему можно решать довольно сложные задачи с динамическими и не постоянными печатными формами. При реализации данной задачи, работа по созданию шаблонов Word и расстановке закладок в шаблоне Word возлагается на пользователей 1C.
В данном примере будет показано, как используя механизмы 1С и документа Word в качестве шаблона, можно создать печатную форму для вывода данных, пользователям программы 1С.
Создадим шаблон на основе документа Word для 1С. Сначала необходимо включить показ закладок для более удобной работы с документом:
Использование шаблонов Word в 1С
Использование шаблонов Word в 1С
Далее необходимо в файл шаблона для 1С, добавить текст и пару закладок. Закладка добавляется через меню «Вставка» — «Закладка». Нужно выделить текст закладки, скопировать его, открыть меню «Вставка — Закладка», вставить скопированный текст закладки и нажать «Добавить»:
Установка закладки, шаблон Word для 1С
В результат запуска внешней обработки 1С по формированию печатной формы на основе шаблона в виде файла Word, мы получим следующий результат:
Результат использования шаблонов Word в 1С
Информацию по методам COM объекта Word, а так же дополнительные данные можно узнать из MSDN.
Дополнение к заметке Использование шаблонов Word в 1С
Выражаю благодарность, всем тем, кто комментирует запись, благодаря вам, материал дополняется новыми данными и будет полезен более широкому кругу посетителей.
1. А как поменять размер шрифта во вставляемом тексте?
Достаточно изменить размер шрифта закладки, в шаблоне. А вот, если необходимо динамически менять размерность, тогда:
2. Картинки есть возможность выгружать в шаблон?
Да, конечно. Примеры для C# и VB описаны по ссылке: https://msdn.microsoft.com/ru-ru/library/ms178792.aspx, а для 1С код будет следующий:
3. При выполнении кода: ОбъектВорд.Documents.Add(«C:/Шаблон.docx») (туда я поместил Ваш документ) получаю ошибку : «Ошибка при вызове метода контекста (Add)» в чем может быть причина?
Может попробовать изменить путь на: «C:\Шаблон.docx».
4. Подскажите пожалуйста еще почему при сохранении макета типа active document в файл word кодом:
5. У меня в документе есть ссылки на файлы которые расположены на сетевом диске. Как в шаблоне сделать гиперссылку на эти файлы?
Интересный вопрос, если попробовать сделать запись макроса и посмотреть результат, то в Visual Basic добавление гиперссылки будет выглядеть следующим образом:
Пример работы печатной формы из 1С по шаблону Word
Обработка тестировалась на УТ 11.2.3.101.
1) Обработка подключается как внешняя к документам ЗаказПокупателя и РеализацияТоваровУслуг.
2) В документе нажимаем на кнопку Печать
3) Указываем путь к шаблону договора Word.
4) Открывается новый документ Word с заполненными параметрами.
Как добавить параметры в Word
1) Выбираем участок для параметра, например: «АГЕНТСКИЙ ДОГОВОР №0101010101», в качестве участка нам нужно выделить сам номер, или удалить его и спозиционироваться на его месте.
2) В меню Word, переходим на «Вставка», далее «Экспресс-блоки», далее «Поле»
3) В открывшемся диалоговом окне, выбираем тип «DocVariable»
4) Назначаем имя, например «NomerDogovora»
5) Жмем «Ок», когда окно закроется, вы скорей всего не увидите изменений, так как скрыт «Word kod», нажмите Alt+F9, что бы открыть код.
6) Таким образом создаете все нужные Вам параметры.
Как обработать параметры из 1С
В архиве внешняя печатная форма для УТ 11 и шаблон договора Word.
Скачать файлы
Специальные предложения
Обновление 07.05.18 11:36
См. также
Уведомление о заключении и расторжении трудового договора с иностранцем для ЗУП 3.1 Промо
Внешние печатные формы «Уведомление о заключении ТД с иностранцем» и «Уведомление о расторжении ТД с иностранцем» для ЗУП 3.1 (справочник «Сотрудники»). См. подробное описание, есть особенности! (Приложения № 7 и 8 к приказу МВД России от 30.07.2020 N 536).
15.09.2017 22372 258 Matilde 26
Счет-фактура и УПД в редакции постановления 534 для БП 3, БП 2, УТ 10.3, УТ 11.1, УТ 11.4, КА 1, КА 2
Новая Счет-Фактура и УПД применяется с 01.07.2021 для БП, УТ, КА
02.07.2021 16852 990 A_I 93
Новые печатные формы Счет-фактур и УПД с 01.07.2021 постановления Правительства от 2 апреля 2021 г. № 534 (Архив для всех конфигураций)
25.06.2021 40938 1123 Kontakt 310
Транспортная накладная (Приложение №4) по Постановлению от 21.12.2020 №2200 для Бухгалтерии 3.0
Изменение формы транспортной накладной. Постановление Правительства Российской Федерации от 21.12.2020 № 2200. Применяется с 01.01.2021.
16.01.2021 13069 22 Kontakt 2
Анализ заказов покупателей (КА 2.4, ERP 2.4, УТ 11.4) Промо
Отчет на заданную дату выводит сводную информацию о состоянии выполнения заказов клиентов. Аналогичен типовому «Состояние выполнения» который выводит только по одному текущему заказу.
06.07.2020 8692 56 silver_jr 12
Внешние печатные формы для 1С:Бухгалтерии государственного учреждения 2.0
Содержит практически полный набор внешних печатных форм для Бухгалтерия государственного учреждения 2.0
09.07.2020 12203 17 LamerSoft 0
Внешние печатные формы для 1С:Розница 2.3
Содержит практически полный набор внешних печатных форм для Розница 2.3
07.07.2020 26372 17 LamerSoft 0
Товары в резерве на складах (КА 2.4, ERP 2.4, УТ 11.4)
Отчет выводит информацию о количестве и себестоимости свободных и обособленных резервов на складах.
07.07.2020 5909 21 silver_jr 10
Внешние печатные формы для 1С: Зарплата и кадры государственного учреждения 3.1
Содержит практически полный набор внешних печатных форм для Зарплата и кадры государственного учреждения 3.1
29.05.2020 10547 14 LamerSoft 0
Внешние печатные формы для 1С:Управление нашей фирмой 1.6
Содержит практически полный набор внешних печатных форм для Управление нашей фирмой 1.6
20.05.2020 10610 25 LamerSoft 6
Содержит практически полный набор внешних печатных форм для Зарплата и управление персоналом 3.1
19.05.2020 12650 83 LamerSoft 5
Внешние печатные формы для Бухгалтерии предприятия 3.0
Содержит практически полный набор внешних печатных форм для Бухгалтерия предприятия 3.0
18.05.2020 11924 89 LamerSoft 0
Внешние печатные формы для Управления торговлей 11.4
Содержит практически полный набор внешних печатных форм для Управление торговлей 11.4
18.05.2020 11457 68 LamerSoft 2
Внешние печатные формы для Управления торговлей 10.3
Содержит практически полный набор внешних печатных форм для Управление торговлей 10.3
17.05.2020 10983 17 LamerSoft 1
Формирование договоров по шаблонам из Google Drive
Основная идея: бухгалтер / кадровик / директор может вносить правки в шаблоны договоров без участия программиста. Пользователь получает возможность редактировать шаблоны на Google диске и тут же формировать договоры по исправленным шаблонам из 1С. Заполненный по шаблону договор сохраняется на Google диск. Вместо пары десятков внешних печатных форм, в вашей базе всего одна внешняя обработка. Обработка разрабатывалась под КА 2. Тестировалась на КА 2.4.9.82, УТ 11.4.5.32, УТ 11.4.9.98. Несложно адаптируется под другие БСП-Конфигурации.
25.11.2019 34982 27 hlopik 25
Анкеты для проведения обследования по подсистемам 1С:ERP
Предлагаем вниманию анкеты, используемые для оценки объема проекта внедрения. Анкеты могут использоваться на этапе экспресс-обследования. На более поздних этапах требуется углублять собираемую с клиента информацию для проектирования системы на базе 1С:ERP Управление предприятием 8.
03.04.2019 34109 1373 1СERP 38
Трудовой договор, Дополнительное соглашение к трудовому договору, Лист ознакомления, Договор о материальной ответственности, Договор о коммерческой тайне, Согласие на обработку персональных данных для ЗУП 3.1
Комплект печатных форм для отдела кадров для документов Прием на работу и Кадровый перевод: Трудовой договор, Доп. соглашение к трудовому договору, Лист ознакомления с локальными нормативными актами, Договор о полной материальной ответственности, Договор о неразглашении коммерческой тайны, Согласие на обработку персональных данных.
12.03.2019 45733 243 Asenka 76
Валовая прибыль в текущем месяце. Актуальная себестоимость (рассчитывается из последней цены закупки с учетом доп.расходов)
16.03.2018 37180 91 zaika007 49
Анализ распределения заказов по предоплатам
Отчет, в котором предоплаты разделены по интервалам (порогам) предоплат.
21.02.2018 26800 0 wowik 0
Трудовой договор, Дополнительное соглашение, Материальная ответственность, Коллективная материальная ответственность, Кадровый перевод, Индексация, Т-53 для ЗУП 3 внешние (7 печатных форм). Создание ведомостей по каждому сотруднику одной кнопкой
1. Комплект из 6 печатных форм для документов: Прием на работу, Индексация, Кадровый перевод, Кадровый перевод списком для ЗУП 3.1.11 и более ранних Трудовой договор, дополнительное соглашение, договор личной материальной ответственности, договор коллективной материальной ответственности, индексация, Ведомость Т-53 без лишних строк. Не требуется изменения конфигурации. Подключается через стандартное подключение внешних обработок. 2. Обработка для создания ведемостей из начисления зарплаты. 3. Расширение конфигурации для ЗУП 3.1.11 и КА 2.4.6 для редактирования стажа как в ЗУП 2.5 (Из трудовой деятельности сотрудника. Если ввели строки трудовой деятельности, то стаж считается до даты приема сотрудника).
26.01.2018 62859 513 p.ugrumov 98
Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула
Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.
29.12.2017 54440 38 agent00mouse 0
Себестоимость реализованной продукции по периодам выпуска в УПП (для РАУЗ, бухгалтерский учёт)
Отчёт показывает распределение себестоимости реализованной продукции по периодам. Продукция по периодам выпуска распределяется на полуфабрикаты по периодам выпуска полуфабрикатов. Затем выполняется разузлование полуфабрикатов до уровня материалов. Отчёт может быть полезен для предоставления результатов деятельности предприятия акционерам предприятия.
29.12.2017 35801 65 Designer1C 15
Остатки товаров на складах по выбранным документам
Печатная форма подключается к документам. Даёт возможность быстро оценить остатки товара на складе по номенклатуре, указанной в документе, и ответить на вопрос, хватает ли остатков, чтобы отгрузить счет? На каких складах продукция по этому документу?
09.11.2017 54301 25 A7758735 5
1с шаблон печатной формы в word
В этом уроке мы научимся создавать шаблоны Word с предопределенными именованными полями, которые можно в дальнейшем заполнять программно из 1С (ссылка на пример кода).
Что это означает на практике?
К примеру, у нас есть типовая форма счёта на оплату, который мы выставляем покупателям.
Сейчас мы вместе в Word 2007 создадим такой шаблон, вернее я покажу сам принцип.
1. Первым делом создаём обычной документ Word.
2. Оформляем его как обычно.
3. Затем устанавливаем курсор в место, куда будет вставляться значение программно (пусть это будет номер счёта):
4. Переходим на закладку «Вставка» и выбираем «Экспресс-блоки»-«Поле. «:
6. Нажимаем «Ок» и в документ вставляется поля типа «MergeField» с именем «number»:
7. Оформляем весь документ в этом же стиле (вставляя нужные поля):
И, наконец, сохраняем этот документ в виде шаблона Word (с расширением dotx):
Полученный файл с расширением dotx используем для программного создания документов.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Макеты печатных форм в 1С 8.3
Для того, чтобы распечатать сформированный документ в 1С, его необходимо преобразовать в печатную форму при помощи макета печатной формы. Такой шаблон формы для печати создается при помощи специального конструктора, который внешне схож с таблицей Excel.
Используя программу 1С в режиме управляемых форм, можно редактировать макет печатной формы и вносить изменения в печатную форму документа самостоятельно. Не изменения конфигурации программы пользователь имеет возможность менять внешний вид (линии таблиц, шрифт и т.д), вставить свой логотип и другое.
Подробнее разберем, что такое печатный макет в 1С, рассмотрим возможности изменения, просмотра и настроек, используем в качестве примера программу 1С:Бухгалтерия версии 3.0.
Как изменить макет печатной формы в 1С 8.3
В качестве примера создадим документ типа «Реализация (акт, накладная)» находящийся в меню «Продажи» и выстоим печатную форму для данной накладной.
Нам понадобилось внести изменения в печатную форму, а также в документ добавить логотип организации.
Организация вправе кроме обязательных реквизитов вносить изменения, при этом сохраняя утверждённый формат документа. Наличие логотипа не является обязательны реквизитом, однако организация может его добавить. Нажав кнопку «Печать», вы переходите в печатную форму, далее нажимает кнопку «Еще», там высвечиваются следующие пункты: «Перейти к макетам форм» и «Изменить макет».
Следующей командой выбираем «Перейти к макетам форм», там представлен весь перечень предлагаемых печатных форм, имеющихся в программе. Используя при помощи отбора пункт «стандартные макеты» (не имеют изменений) просмотр можно сделать более удобным.
Для того, чтобы документ можно было просмотреть и отредактировать необходимо нажать команду «Изменить макет». Далее на экране появится макет печатной формы, выбранный для редактирования. Видно, что большая часть полей формы имеет определенные команды, при использовании которых и происходит заполнение формы. Изменять имена областей и параметров нельзя, так как это может способствовать нарушению работы печатной формы.
Для изменения шрифта, определения линий границ таблицы, выравнивания текста и других изменений касаемо изменений внешнего вида используется панель инструментов, на работоспособность это не влияет. Работа с макетом печатной формы похожа на работу с таблицей Excel.
В случае если в печатной форме мешают линии их можно удалить, использовав кнопку «Границы» далее «Нет границы». Когда линии не мешают, они остаются без изменения, а рисунок расположится сверху.
Если требуется вставить картинку, для этого необходимо нажать кнопку «Еще» и выбрать команду «Картинки», которая находится в меню «Рисунок».
Далее в открывшимся окне необходимо нажать «Выбрать из файла» и выбираем нужный логотип.
Нужный рисунок разместился в форме. При помощи маркеров по краям рисунка, возможно увеличить или уменьшить его размер. В случае если что-то не получилось, действие можно изменить, для этого достаточно использовать комбинации Ctrl+Y – вернуть действие, Ctrl+Z – отменить действие.
Вставляется логотип в рамке. Далее правой кнопкой нажимаем на вставленный логотип и выбираем меню «Свойства».
В появившимся окне можно задать параметры объекта. Нам необходимо удалить рамку, для этого мы нажимаем «Стиль линии» далее «Без линии».
Размещение рисунка между двумя горизонтальными линиями красного цвета, является обязательным, не стоит об этом забывать. В противном случае его попросту не будет видно в форме. Что бы рисунок поместился, строки формы мы раздвинули. Далее нажимаем «Записать и закрыть» и оцениваем получившийся результат.
Проверили, логотип на месте.
Так у пользователя есть возможность вносить изменения в макеты печатных форм, не меняя при это конфигурацию.
После этого, если зайти в раздел «Перейти к макетам печатных форм», нажать кнопку «Еще», то можно увидеть, что возле измененного макета появился зелёный карандаш, что говорит о том, что макет является изменённым. В случае если пользователю понадобится восстановить исходный макет, то достаточно нажать кнопку «Использовать стандартный макет».
Цвет карандаша при этом изменится на черно-белый, а при печати форма документа будет стандартной.
В том случае, если изменения нужно удалить навсегда, то следует нажать на красный крестик. Появившийся ранее карандаш исчезнет, а все изменения макета будут удалены.
В макет печатной формы рисунок вставляется автоматически.
Шаблон и параметры макета
Таким образом пользователь самостоятельно способен добавить в макет какие-то значения для документа, при помощи параметров. Для того, чтобы удобнее было сориентироваться в параметрах, лучше просмотреть другие макеты документов. Например, для того чтобы в ячейку выводилась цена, артикул или товар, нужно просто указать необходимый параметр в ячейке.
Для просмотра настроек этой ячейки, необходимо нажать на нее правой кнопкой мыши и выбрать «Свойства».
На экране появилось окно, в котором видно, что значение ячейки — это параметр. Но задать можно не только параметры и текст, также в макете для ячейки возможно задать шаблон, в свойствах должно быть указано, что это именно шаблон. При использовании шаблона можно скомбинировать параметры и текстовые значения. Для это нужно в значении ячейки товара отметить, что это шаблон, а при выборе значения шаблона в поле «Текст» при указании параметра использовать квадратные скобки.
После сохранения макета, рядом появляется карандаш, который говорит о том, что макет изменялся.
Теперь проверяем сохраненный макет, открываем и видим, что в ячейке есть написанный текст.
Текст с форматированием в макете печатной формы добавляется таким же образом. Используя шаблон нельзя в одной ячейке применить сразу несколько вариантов форматирования, это значит, что оформление будет для всей ячейки.
Рассмотрев примеры видно, что при необходимости изменить макеты возможно. В случаях, требующих создания внешней или новой печатной формы, используется уже режим «Конфигуратор», в пользовательском же режиме доступны только не большие изменения.