Печатная форма договора в 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"
Перечень доступных парметров печатной формы можно просмотреть в прилагающихся примерах шаблонов, они имеют вид {v8 ИмяПараметра}
4. Примечания
4.1. Шаблоны для Word
В БСП присутствует ошибка, из-за которой для некоторых типов файлов шаблонов (содержат более одной секции с разными настройками и/или имеют очень большой размер) из них не переносятся параметры страницы в конечный документ. Происходит это из-за использования для доступа к параметрам документа объекта ActiveDocument.PageSetup, который в указанных выше случаях возвращает часть настроек как "Неопределено".
В частности, проблема рассмотрена здесь: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/85a286b5-91b5-457a-93b5-ef56ff31a116/
Если данная проблема сильно мешает, то устранить её можно следующим образом:
в общем модуле УправлениеПечатьюMSWordКлиент в методе ПолучитьМакетMSWord() ищем строку
Handler.НастройкиСтраницыМакета.Вставить(ИмяНастройки, COMОбъект.ActiveDocument.PageSetup[ИмяНастройки]);
и заменяем её на
Handler.НастройкиСтраницыМакета.Вставить(ИмяНастройки, COMОбъект.ActiveDocument.Sections.Item(1).PageSetup[ИмяНастройки]);
4.2. Шаблоны для Writer
У меня при формировании форм в пакете OpenOffice 3.3 для некоторых участков текста "слетало" форматирование (выравнивание, шрифт и/или его размер, выделение курсивом или жирным), однако из этого же шаблона в LibreOffice 3.5/3.6 всё формировалось корректно, поэтому рекомендую использовать именно этот пакет.