Пример, как передать данные в макет MS Word через свойства.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже
заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Навеяно вот этой обработкой. В ней автор ищет предопределенный текст в документе и заменяет его своим. Я же пользуюсь свойствами самого документа MS Word.
1. Создаем документ в Word.
2. Переходим в окно свойств документа (Файл -> Свойства -> Прочие)
3. Задаем имя свойства, тип и значение.
4. Вставляем получившееся свойство в текст.
Вставка -> Поле
В списке "Поля" выбираем "DocProperty". В списке "Свойство" выбираем наше свойство.
5. Сохраняем документ.
6. Добавляем документ в качестве макета Active Document
7. Как передать в него параметры смотрим в приложенной обработке
Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux).
Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).
Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.
На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.
Сложно все это для простого пользователя Word - столько разных окошек открыть! А ведь именно простой пользователь будет заводить в системе новый шаблон. Да, а как быть с заполнением таблиц?
Мы использовали свои метки в тексте документа Word типа [ОрганизацияНаименованиеПолноеСтрока] и делали механизм универсальным под разные версии Word.
(3) Вы программу пишите не для себя, а для пользователя. Грош цена той программы или конкретной фишки, которую не будут использовать пользователи в работе.
Отличная разработка, сам постоянно пользуюсь. Только не обязательно задавать поля а потом добавлять макет. Я обычно добавляю макет, в нужных местах вставляю нужную переменную (В списке "Поля" выбираем "DocVariable" и пишем произвольную переменную), затем присваиваем её нужной нам информацией и все.