Шаблон печатной формы для вывода информации в MS Word

24.02.13

Учетные задачи - Печатные формы

В публикации представлен шаблон обработки для формирования документов MS Word по данным информационной базы с комментариями и пояснениями

Скачать исходный код

Наименование Файл Версия Размер
Шаблон обработки для вывода данных в MS Word
.epf 33,72Kb
669
.epf 33,72Kb 669 Скачать

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

 

Концепция работы с документом MS Word из 1С: Предприятие 8

 

1С при работе с офисными приложениями MS Office использует технологию OLE Automation. В принципе есть и другие варианты, но для создания полноценного офисного документа данная технология является наиболее удобной.

Технология определяет те COM интерфейсы, через которые интерпретатор языка будет общаться с объектом. Фактически можно обращаться к методам MS Word как будто вы программируете макрос на VBA внутри самого MS Word. 

 

В этом Шаблоне обработки формирования печатных форм затрагиваются наиболее часто используемые возможности MS Word - работа с форматированным текстом и таблицами.

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

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

Внесение в текст данных ИБ (информационной базы) происходит следующим образом:

1) Подготавливается шаблон (документ MS Word) с соответствующим форматированием. На месте где должны будут стоять данные из ИБ ставим специальные метки. Конкретного соглашения не существует, главное чтобы метки небыли похожи на обычный текст, т.е. чтобы программно нельзя было перепутать текст с меткой. Я использовал следующее соглашение: метка начинается с ш_ и пишется без пробелов.

2) У меток должно быть форматирование конечных данных.

3) Сохраняем этот документ в обработку. Добавляем макет с типом Active document и при создании макета указываем файл .doc подготовленного в п.1 шаблона.

4) При заполнении печатной формы создаем из макета OLE Automation документ и заполняем его. Заполнение текстового содержания представляет собой замену меток нужным тексом, как если бы Вы воспользовались функцией "Заменить" при ручном редактировании документа. С таблицами несколько сложнее, т.к. заранее не известно число строк, и строки приходится добавлять динамически. 

5) Показываем или сохраняем получившийся документ MS Word.

 Документ готов!!!

 

Некоторые замечания:

 Для того чтобы это было действительно внешней печатной формой в модуль объекта нужно добавит процедуру

    -   Функция Печать()    Экспорт

 Она будет вызываться при вызове печатной формы.

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

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

 

Краткое примечание добавил в обработку в качестве текстового макета.

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

См. также

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    7760    24    6    

42

Универсальная печать по шаблонам Word (Печать договоров из 1С БП 3, УНФ 1.6, ЗУП 3, УТ 11, КА 2, ERP 2, ДО 3)

Печатные формы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

5400 руб.

08.10.2019    43130    147    89    

140

УТ 11, КА 2, ERP 2: Настраиваемые под каждую организацию печать и подпись ответственных лиц в печатных формах (ТОРГ-12, Счёт-фактура, УПД, УКД, Заказ клиента, Акт сверки, М-15 и др.)

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

12000 руб.

13.03.2018    56794    184    76    

116

Печатные формы КС-2 и КС-3 в "1С:Бухгалтерия 3.0"

Печатные формы Производство готовой продукции (работ, услуг) Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Строительство Россия Бухгалтерский учет Платные (руб)

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

3240 руб.

13.02.2019    88571    391    44    

374

Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0

Печатные формы Учет рабочего времени Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Транспорт, автопарки, такси Россия Бухгалтерский учет Платные (руб)

Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0 - заполнить, распечатать, сохранить. Вы можете не только внести всю информацию и распечатать путевой лист грузового автомобиля в 1С, но и повторно использовать ранее введенные данные спустя любое время - данные путевого листа сохраняются в "1С:Бухгалтерия 3.0" без каких-либо доработок.

4200 руб.

23.08.2019    53768    162    63    

150

Печать актов МХ-1, МХ-3 в 1С:Бухгалтерия 3.0

Печатные формы Логистика, склад и ТМЦ Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработки для "1С:Бухгалтерия 3.0", которые формируют акты МХ-1 и МХ-3 для документов "ПоступлениеТоваровУслуг", "Реализация товаров услуг", "Возврат товаров поставщику", "Передача материалов в эксплуатацию" соответственно. Так же можно сформировать акты с факсимиле, которая загружена в 1С:Бухгалтерия 3.0.

2520 руб.

18.02.2019    61385    170    14    

140
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. irishen 21.06.12 16:58 Сейчас в теме
Хотелось бы услышать комментарии от уже использующих шаблоны!
+
2. bahbah 153 21.06.12 18:09 Сейчас в теме
Лично я уже множество форм сделал по этой технологии. Мои кадровики принципиально не любят что-то делать руками, поэтому появилась масса печатных форм и формочек, различного рода кадровых приказов, печатающихся из кадрового перемещения и прочих документов.
Именно поэтому решил создать эту публикацию - подумал что будет полезно не только мне.
lunt; +1
3. winise007 25.06.12 10:55 Сейчас в теме
Большое человеческое спасибо, ещё на семерочке начал пользоваться такой технологией. Время сэкономило просто море. Респект и уважуха !
+
4. bahbah 153 25.06.12 18:02 Сейчас в теме
(3) winise007, Всегда рад помочь. Кстати, одна из моих публикация, а именно Печать Извещения об отпуске из документа "График отпусков организации" построена как-раз на основе этого шаблона.
+
5. bobank 200 10.08.12 13:44 Сейчас в теме
Как подобное реализовать на управляемой форме. Нет возможности получить макет на клиенте. При попытке получения его на сервере естественно возникает ошибка преобразования типов.
+
6. RustIG 1556 24.08.12 22:14 Сейчас в теме
Спасибо, попробую
+
7. JohnySC 179 27.08.12 13:05 Сейчас в теме
Отлично, очень помогло! Раньше сам делал подобное с екселем, до ворда руки не доходили, а тут раз и готовое решение :-) Спасибо!
+
8. bahbah 153 27.08.12 15:16 Сейчас в теме
(7) JohnySC, я очень рад, что Вам пригодилось.
+
9. 1malder1 7 19.09.12 15:45 Сейчас в теме
Только собирался делать что то подобное, спасибо большое :)
+
10. salus 28 09.10.12 18:57 Сейчас в теме
Мой опыт говорит о том, что использование закладок вместо меток ускоряет обработку шаблона.
+
11. fr.myha 14.11.12 10:51 Сейчас в теме
Спасибо! Взял на заметку!
+
12. SergeyGladyshev 28.11.12 11:50 Сейчас в теме
Очень полезная обработка, автору респект!
+
13. FaKer1980 11 19.12.12 14:06 Сейчас в теме
Очень понравилось
+
14. zavsom 103 25.01.13 17:47 Сейчас в теме
{ВнешняяОбработка.ПриказОНачислении.МодульОбъекта(494)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005)

постоянно лезет и вопрос - включить макросы?
+
15. revril 03.03.13 20:26 Сейчас в теме
Очень хорошая обработка, учитывая что у нас куча дпечтных форм при кадровых изменениях! Это облегчило написание печатных форм
+
16. bahbah 153 04.03.13 09:17 Сейчас в теме
(15) revril, я рад, что Вам пригодилось.
+
17. bandru 14.04.15 18:42 Сейчас в теме
Подскажите пожалуйста, а на компьютере клиента должен быть обязательно MS Office стоять? Или 1С сохраняет в .docx, а затем можно перебросить на рабочее место с Office?
+
18. bahbah 153 20.04.15 16:41 Сейчас в теме
(17) bandru, на компьютере, где будет выполняться код обработки обязательно должен стоять MS Office, т.к. используется технология OLE. Не встречал способа без ВК и других программ формировать файлы MS Word, хотя они точно есть.
+
19. Гость 05.08.15 14:39
Добрый день! Скачала вашу обработку немного непонятны эти пункты 2) У меток должно быть форматирование конечных данных и 4) При заполнении печатной формы создаем из макета OLE Automation документ и заполняем его. Заполнение текстового содержания представляет собой замену меток нужным текстом, как если бы Вы воспользовались функцией "Заменить" при ручном редактировании документа. С таблицами несколько сложнее, т.к. заранее не известно число строк, и строки приходится добавлять динамически. Вопрос: что значит метки должны быть форматированными, это как? И Где этот макет OLE Automation?
+
20. bahbah 153 06.08.15 17:21 Сейчас в теме
2) если нужно, чтобы вставляемый текст был жирным, нужно метку сделать жирной, если курсивом - метка также должна быть курсивом
4)макет - макет Active document, в который сохраняем документ-шаблон. OLE Automation - Созданный программно экземпляр программы Word, в которой открыт документ, который сохранен в макете обработки.
+
21. Alik_1c 04.09.15 14:51 Сейчас в теме
когда в конфигураторе добавляешь новую обработку и в ней макет с типом active document и выбираешь файлик с расширением doc то пишет неизвестный формат
+
22. bahbah 153 22.09.15 16:07 Сейчас в теме
(21) Alik_1c, предполагаю, что у Вас не установлена программа, которая связана с active document (в вашем случае - Word)
+
Оставьте свое сообщение