Универсальная печать документов в Word + визуальный конструктор макета







Эта публикация представляет инструмент, который позволяет на пользовательском уровне создавать макеты печатных документов Word без какого-либо участия программиста и знания "внутренностей" 1С.

Самостоятельно созданные пользователем Word макеты сохраняются в БД. При печати в Word пользователь выбирает имя макета, на который требуется печать, или макет подставляется по умолчанию, если он единственный для данного вида документа. Создать макет пользователь может для любого вида документа, равно как и распечатать таковой.

Была задумка, чтобы пользователь выполнял все свои действия, не покидая окна 1С, но, к сожалению, не нашел способа реализации перетаскивания в управляемом приложении на HTML поле, в котором должен был находиться документ Word. А поэтому остановился на отображении двух документов Word (автоматически сформированный шаблон-помощник и документ шаблона печатной формы) рядом на одном экране.

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

В Word шаблоне расстановка переменных параметров ведется с помощью закладок. Этому послужило 2 причины.

  1. Работа с закладками происходит быстрее, чем с поиском и заменой
  2. Закладку можно легко целиком выделить двойным кликом и перетащить в рабочий шаблон.

 Пока не реализовано, но планируется в дальнейшем:

  • Заполнение таблиц (табличной частью) в Word-е
  • Подстановка в макет двух одинаковых параметров (имя закладки в документе должно быть уникальным)
  • Заполнение колонтитулов документа
  • Склонение по падежам в разных языках (на текущий момент корректно склонятся только украинский язык)

Для большего удобства работы с Word-ом желательно включить видимость закладок (сервис — параметры — вид — закладки). В этом случае активные закладки Вы увидите в сереньких квадратных скобках.

Склонение производится с помощью COM объекта «Padeg_ua.Declension» библиотеки padeg_ua.dll Библиотеку можете взять либо по ссылке, либо из общего макета представленной конфигурации (регистрируется только на сервере, на клиентах не нужно).

Так же в представленной конфигурации была использована библиотека mwc.dll для управления главным окном 1С при работе с документом Word (выполнена по технологии Native, т.е. подключается без регистрации).

Только управляемые формы.

Разрабатывалось и тестировалось на релизе 8.3.4.437, в т.ч. протестирован удаленный тонкий клиент через web сервер. Через браузер работать не будет (нужна доводка с обходом получения двоичных данных). На низших версиях работать, думаю, будет, но потребует изменения некоторых методов.

Пользовательское описание по работе с макетами (в формате PDF) можно вызвать из панели навигации раздела «Подсистема Печать Word».

3 Comments

  1. PavelZnaikin

    Это у вас обработка или конфигурация которую нужно интегрировать с другой конфигурацией?

    И в интерфейсе Такси, я так полагаю работать не будет ?

    Reply
  2. kentavr27

    (1) Это конфигурация, которую нужно интегрировать в свою конфу. Данные шаблона word хранятся в регистре сведений, поэтому без интеграции не обойтись. Кроме того используются общие модули, картинки, макеты (dll)

    Работает только в управляемом приложении, а какой интерфейс (стандартный или такси) не имеет никакого значения.

    Reply
  3. PavelZnaikin

    А есть инструкция, что с чем соединять и какие общие модули используются?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *