Печатная форма договора в Word/Writer для Управление Торговлей 11 (с использованием БСП)
Позволяет выводить договор с контрагентом в Word (MS Office) или Writer (OpenOffice/LibreOffice) с заполненными реквизитами обеих сторон, с возможностью правки и сохранения данных о договоре (№, дата, срок действия), о подписантах с обоих сторон (должность, ФИО) и использованием штатных возможностей встроенной в Управление Торговлей 11 Библиотеки Стандартных Подсистем (БСП). Обработка использует исключительно штатные возможности УТ11, поэтому не требует внесения каких-либо изменений в конфигурацию. Обработка писалась и тестировалась на релизах УТ 11.0.8 и 11.0.9, для релизов УТ 11.1 потребуется доработка.
Краткое описание возможностей:
1. Установка
Установка производится при помощи штатного функционала панели «Администрирование»»Печатные формы, отчеты и обработки»»Дополнительные отчеты и обработки» — нажимаем «Создать», указываем файл «ПечатьДоговораВOffice.epf», записываем, в итоге получаем две команды для договоров с контрагентами: «Печать договора» и «Печать договора (настройка)». Первая производит непосредственную печать указанного договора с использованием сохранённых настроек, вторая — позволяет просмотреть сохранённые настройки и изменить их, а также вывести на печать.
2. Настройки
Настройки подписанта со стороны организации сохраняются для каждой организации в отдельности кнопкой «Сохранить настройки организации».
Кнопкой «Сохранить» сохраняются глобальные настройки обработки (тип используемого шаблона (Word/Writer), место хранения шаблонов (макеты обработки/справочник приосединённых к физ.лицам файлов)), а также указанные настройки для договора (№, дата, срок действия, данные о подписантах) (последние сохраняются в справочнике присоединённых к договору файлов).
3.Шаблоны
Шаблоны договоров можно размещать как в макетах самой обработки, так и в базе данных, «прикрепив» их к какому-нибудь физ.лицу. Правила именования макетов:
<ТипДоговора>— Покупатель или Поставщик
<ТипШаблона>— DOC (для Word) или ODT (для Writer)
например, шаблон договора с покупателем для Word должен называться «ПокупательDOC»
Перечень доступных парметров печатной формы можно просмотреть в прилагающихся примерах шаблонов, они имеют вид
4. Примечания
4.1. Шаблоны для Word
В БСП присутствует ошибка, из-за которой для некоторых типов файлов шаблонов (содержат более одной секции с разными настройками и/или имеют очень большой размер) из них не переносятся параметры страницы в конечный документ. Происходит это из-за использования для доступа к параметрам документа объекта ActiveDocument.PageSetup, который в указанных выше случаях возвращает часть настроек как «Неопределено».
Если данная проблема сильно мешает, то устранить её можно следующим образом:
в общем модуле УправлениеПечатьюMSWordКлиент в методе ПолучитьМакетMSWord() ищем строку
и заменяем её на
4.2. Шаблоны для Writer
У меня при формировании форм в пакете OpenOffice 3.3 для некоторых участков текста «слетало» форматирование (выравнивание, шрифт и/или его размер, выделение курсивом или жирным), однако из этого же шаблона в LibreOffice 3.5/3.6 всё формировалось корректно, поэтому рекомендую использовать именно этот пакет.
Скрины:
Автор: andrewks — Источник
Рассмотрим два способа выгрузить данные из программы 1С 8.3 в Word. Эти способы можно использовать в альтернативу стандартных внутренних и внешних печатных форм 1С. Пример обработки, который описывается в статье, можно скачать здесь.
Кстати, в новой версии 1С Бухгалтерия появилась возможность настройки пользовательских шаблонов договоров без программирования.
Выгрузка данных из 1C в шаблон Word (Active document)
Чтобы сформировать документ в формате Word, нужно сначала подготовить шаблон. А точнее, создадим макет с типом «Active document» для примера во внешней обработке:
Затем выбираем объект, например, Microsoft Office Word 97-2003:
Откроется чистый документ Word (причем в конфигураторе).
А в документе Word будем расставлять закладки. С закладками работать приятней и быстрей.
Выбираем режим закладок и расставляем:
Прописываем такую процедуру:
Получите 267 видеоуроков по 1С бесплатно:
После вызова процедуры мы получим открытый документ с таким вот сообщением:
Создание документа Word сразу (Word.Application)
Документ Word можно создать в 1C без использования макета. Напрямую, с помощью COM объекта. Делается это не сложнее.
После запуска кода мы видим вот такую красивую картину:
Ссылка на скачивание обработки — Выгрузка в Word.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Изменение существующих или создание новых печатных форм – задача довольно распространённая. Как правило, в таких случаях создаётся внешняя печатная форма и подключается через стандартную подсистему дополнительных отчётов и обработок. Однако, иногда возникают задачи, в которых печатная форма должна формироваться с учётом данных, вводимых пользователями непосредственно перед печатью. То есть, сначала должна открыться форма, в которую пользователь вводит данные, и только потом выполняется команда «Печать».
Допустим, нам нужно создать печатную форму некой справки, часть данных которой вводятся в форме перед печатью. Кнопка «Печать» должна располагаться на форме.
Создаём внешнюю обработку. В модуле обработки, в функции СведенияОВнешнейОбработке () , устанавливаем параметры регистрации внешней обработки.
Обычно для внешних печатных форм параметру «Вид» присваивается значение «Печатная форма», но так как у нас сначала должна открываться форма, то устанавливаем значение «Дополнительная обработка».
В этой же функции СведенияОВнешнейОбработке () при обращении к процедуре ДобавитьКоманду () для внешних печатных форм в параметр «Использование» обыкновенно передаётся значение «ВызовСерверногоМетода» или «ВызовКлиентскогоМетода». Здесь же мы укажем значение «ОткрытиеФормы».
В итоге функция будет выглядеть так:
Создаём макет печатной формы.
Далее создаём основную форму обработки и необходимые реквизиты формы. Создаём и размещаем на форме команду «Печать». Формировать табличный документ для печати будем в обработчике этой команды. В зависимости от того, какие данные требуются для печатной формы, организовываем заполнение табличного документа либо на клиенте, либо на сервере. В данном примере заполняем на сервере и затем возвращаем табличный документ на клиент.
Итак, в модуле формы:
Табличный документ сформирован, осталось вывести его для печати в предназначенную для этого общую форму «Печать документов». Сделаем это с помощью стандартных механизмов БСП.
Дополним обработчик команды «Печать»:
Теперь в результате выполнения команды «Печать» из формы нашей внешней обработки, табличный документ будет выводиться в форму «Печать документов», которая предоставляет удобный интерфейс для печати: