Шаблоны Word в 1С 8

Технология ActiveDocument предназначена для редактирования документов внешними по отношению к 1С:Предприятию 8 редакторами.

Эта технология позволяет редактировать документы визуально (например, Word или Excel) непосредственно в окне 1С:Предприятия 8, при этом элементы пользовательского интерфейса (меню, панели команд и т. д.) заменяются на предоставляемые редактором. Документы могут быть предварительно отредактированы и сохранены в макетах конфигурации, а затем макеты могут использоваться пользователями как основы для создания окончательных версий документов.

Следует заметить, что использование макетов ActiveDocument в режиме Предприятия осуществляется только программно — визуальное редактирование возможно только на этапе создания и редактирования конфигурации.

Эта технология применяется в случае, когда в конфигурации необходимо хранить данные, редактируемые другим приложением — такие, например, как шаблоны для факсов или деловых писем, созданные в Microsoft Word, или шаблоны прайс-листов в Microsoft Excel. Такая необходимость возникает, как правило, при регламентировании формата документов (как во внутреннем документообороте, так и при обмене документами со сторонними организациями и клиентами), однако при отсутствии ограничений на формат документа рекомендуется использовать существующие в 1С:Предприятии 8 возможности по оформлению электронных и печатных документов.

Как создавать шаблоны Word для использования в 1С

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

Что это означает на практике?

К примеру, у нас есть типовая форма счёта на оплату, который мы выставляем покупателям.

Так вот — мы можем один раз создать шаблон такого счёта, прописать в нём поля id, date, organization, inn, kpp… и т.д. и затем программным способом создавать готовые для отправки покупателям счета на оплату.

Сейчас мы вместе в Word 2007 создадим такой шаблон, вернее я покажу сам принцип.

1. Первым делом создаём обычной документ Word.

2. Оформляем его как обычно.

3. Затем устанавливаем курсор в место, куда будет вставляться значение программно (пусть это будет номер счёта):

4. Переходим на закладку «Вставка» и выбираем «Экспресс-блоки»-«Поле…»:

5. В открывшемся диалоге выбираем тип поля «MergeField» и пишем имя поля (по которому мы его будем находит в 1с программно) — «number»:

6. Нажимаем «Ок» и в документ вставляется поля типа «MergeField» с именем «number»:

Отлично! Это то что надо

7. Оформляем весь документ в этом же стиле (вставляя нужные поля):

И, наконец, сохраняем этот документ в виде шаблона Word (с расширением dotx):

Готово!

Полученный файл с расширением dotx используем для программного создания документов.

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Код 1C v 8.х // Пример оздания Word документа из 1С и подключение обработчика события word
// Если у документ Word до сих пор не создан
Если WordДокумент = Неопределено Тогда
// Открыть Word
MSWord = Новый COMОбъект(«Word.Application»);
MSWord.Visible = Истина;
// Удалить временный файл, если есть
Если ВременныйФайл <> Неопределено Тогда
УдалитьФайлы(ВременныйФайл);
КонецЕсли;
// Получить имя временного файла для хранения документа
ИмяФайла = ПолучитьИмяВременногоФайла(«.doc»);
// Получим данные файла
ДанныеФайла = СправочникОбъект.Файл.Получить();
Если ДанныеФайла = Неопределено Тогда
// Создать новый документ, если не был создан до этого
WordДокумент = MSWord.Documents.Add();
// И сохранить его во временный файл
WordДокумент.SaveAs(ИмяФайла);
Иначе
// Записать данные во временный файл
ДанныеФайла.Записать(ИмяФайла);
// Открыть документ Word и добавить обработчик закрытия документа
WordДокумент = MSWord.Documents.Open(ИмяФайла);
КонецЕсли;
// Добавим обработчик события от документа Word
ДобавитьОбработчик WordДокумент.Close, ЗакрытиеДокумента;
КонецЕсли;
// Если документ открыт, активизировать его
WordДокумент.Activate();
WordДокумент.Application.Activate();

Добавить комментарий

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