Самостоятельно созданные пользователем Word макеты сохраняются в БД. При печати в Word пользователь выбирает имя макета, на который требуется печать, или макет подставляется по умолчанию, если он единственный для данного вида документа. Создать макет пользователь может для любого вида документа, равно как и распечатать таковой.
Была задумка, чтобы пользователь выполнял все свои действия, не покидая окна 1С, но, к сожалению, не нашел способа реализации перетаскивания в управляемом приложении на HTML поле, в котором должен был находиться документ Word. А поэтому остановился на отображении двух документов Word (автоматически сформированный шаблон-помощник и документ шаблона печатной формы) рядом на одном экране.
Создание шаблона постарался максимально визуализировать, чтобы было понятно, что откуда брать и куда вставлять. При создании шаблона пользователь уже видит те значения (в качестве примера), которые будут впечатаны в шаблон при обычной печати. На пользовательском уровне организовано форматирование значений (чисел и дат) и склонение строк по падежам.
В Word шаблоне расстановка переменных параметров ведется с помощью закладок. Этому послужило 2 причины.
- Работа с закладками происходит быстрее, чем с поиском и заменой
- Закладку можно легко целиком выделить двойным кликом и перетащить в рабочий шаблон.
Пока не реализовано, но планируется в дальнейшем:
- Заполнение таблиц (табличной частью) в Word-е
- Подстановка в макет двух одинаковых параметров (имя закладки в документе должно быть уникальным)
- Заполнение колонтитулов документа
- Склонение по падежам в разных языках (на текущий момент корректно склонятся только украинский язык)
Для большего удобства работы с Word-ом желательно включить видимость закладок (сервис - параметры - вид - закладки). В этом случае активные закладки Вы увидите в сереньких квадратных скобках.
Склонение производится с помощью COM объекта "Padeg_ua.Declension" библиотеки padeg_ua.dll Библиотеку можете взять либо по ссылке, либо из общего макета представленной конфигурации (регистрируется только на сервере, на клиентах не нужно).
Так же в представленной конфигурации была использована библиотека mwc.dll для управления главным окном 1С при работе с документом Word (выполнена по технологии Native, т.е. подключается без регистрации).
Только управляемые формы.
Разрабатывалось и тестировалось на релизе 8.3.4.437, в т.ч. протестирован удаленный тонкий клиент через web сервер. Через браузер работать не будет (нужна доводка с обходом получения двоичных данных). На низших версиях работать, думаю, будет, но потребует изменения некоторых методов.
Пользовательское описание по работе с макетами (в формате PDF) можно вызвать из панели навигации раздела "Подсистема Печать Word".