Автоматизация заполнения документов Word

Обновлено: 21.11.2024

Dynamics 365 уже давно позволяет заполнять шаблоны Word, но не без ограничений. Теперь с Power Automate есть более простой способ.

Microsoft Power Automate обладает огромным набором функций, а с помощью собственного коннектора Word можно взять подготовленный документ Word и заполнить его данными из Microsoft Dynamics 365. Главное преимущество этого метода перед использованием традиционных Шаблоны Dynamics 365 заключаются в том, что данные могут поступать из любых таблиц, на которые вы ссылаетесь в своем потоке, а также могут быть объединены с дополнительными данными по пути.

Это руководство проведет вас через шаги, необходимые для создания настраиваемого документа Word и создания многостраничного отчета с использованием данных Dynamics 365.

Подготовка: включение вкладки "Разработчик" в Microsoft Word

Однократное действие, которое необходимо выполнить, – включить вкладку "Разработчик" на ленте Word. К счастью, этот шаг прост, и Microsoft предоставила инструкции для Windows и MacOS.

Шаг 1. Создайте документ Word

Создайте новый документ Word и при необходимости отформатируйте его. В этом примере мы создаем простую таблицу контактной информации:

Мы будем использовать повторяющиеся строки для заполнения таблицы в документе, поэтому сейчас нам нужно создать только одну пустую строку

Шаг 2. Добавьте ссылки-заполнители

Для каждого поля, которое вы хотите заполнить, вам нужно будет добавить ссылку-заполнитель на вкладке "Разработчик" (1 на снимке экрана ниже):

В разделе «Элементы управления» (2 на снимке экрана) вы можете увидеть доступные типы (в большинстве случаев вы захотите использовать элемент управления «Обычный текст»). Нажмите на нужный тип, чтобы вставить его в свою таблицу. После ввода выберите его в документе и нажмите «Свойства» (3 на скриншоте)

Введите имя по вашему выбору в поле «Заголовок» и нажмите «ОК». Мы рекомендуем не усложнять это — строчные буквы без пробелов.

Шаг 3. Добавление повторяющейся строки

После того, как все ваши поля будут на месте и их заголовки установлены, вам нужно будет выбрать всю строку и добавить элемент управления содержимым повторяющегося раздела, как показано ниже:

Шаг 4. Загрузка документа Word

Теперь, когда документ Word готов, нам нужно загрузить его, чтобы Power Automate мог получить к нему доступ. Проще всего для этого использовать OneDrive для бизнеса, но и SharePoint — еще один простой вариант.

Шаг 5. Создание потока Power Automate

Ключевая часть, которую следует отметить, — это инициализация пустого массива, который позже будет заполнен данными Dynamics.

Затем добавьте действие «Добавить к переменной массива», выберите переменную массива, инициализированную ранее, и введите текст, как показано ниже:

Вы заметите, что как только вы добавите первое поле (имя в нашем примере), для вас автоматически будет создан цикл "Применить к каждому"; это позволяет вашему Flow автоматически перебирать все записи, найденные в вашем действии List Records. Убедитесь, что текст «Значение» введен правильно в том же формате, что и выше, иначе редактор выдаст ошибку.

Шаг 6. Заполнение документа Word

Теперь, когда мы подготовили наши данные, мы готовы заполнить загруженный документ Word. Когда вы добавляете действие «Заполнить шаблон Microsoft Word», вам будет предложено указать местоположение вашего файла, и после выбора автоматически отобразятся ссылки, которые вы добавили ранее:

Несмотря на то, что отображается каждая отдельная ссылка, нажав кнопку «Переключиться на ввод всего массива», мы можем заполнить всю строку за один раз, используя нашу переменную массива:

Шаг 7. Готовый документ Word

Теперь, когда документ Word содержит данные, он готов к использованию; в нашем случае мы просто отправляем простое электронное письмо с файлом Word в качестве вложения:

Как видите, полученный документ теперь содержит все запрошенные контактные данные:

Обзор

Как видите, с помощью нескольких простых шагов можно создать документы Word, которые можно заполнить вашими данными Dynamics 365. После создания файла Word в него можно легко внести изменения и перезаписать исходный файл, что значительно упрощает обслуживание по сравнению с традиционным шаблоном Dynamics 365. Логичным выбором для более сложных отчетов, требующих более интенсивной обработки данных перед созданием документа, будут отчеты Power BI с разбивкой на страницы.

Если вы уже являетесь клиентом Strategy 365 и хотите обсудить, как вышеуказанные функции могут помочь вашему бизнесу, свяжитесь с одним из наших экспертов сегодня.

Новый коннектор Word Online (Business) позволяет работать с файлами Word в библиотеках документов, поддерживаемых Microsoft Graph: OneDrive для бизнеса, сайты SharePoint и группы Office 365. Сегодня два действия:

  • Преобразовать документ Word в PDF: получение PDF-версии выбранного файла.
  • Заполнение шаблона Microsoft Word: считывает шаблон Microsoft Word, чтобы затем заполнить поля шаблона выбранными динамическими значениями для создания документа Word.

Вы можете создавать шаблоны Word как на Windows, так и на Mac, активировав вкладку "Разработчик". После включения этой вкладки в разделе «Элементы управления» вы можете добавить в документ любое количество элементов управления текстовым содержимым. Используйте свойства элемента управления, чтобы дать элементу управления понятное имя, которое вы будете использовать в потоке. Закончив создание документа Word, сохраните его в одном из указанных выше мест в библиотеке документов.

Теперь вы можете приступить к построению потока. Добавьте действие «Заполнить шаблон Microsoft Word» в свой поток, и когда вы выберете этот файл, вы должны увидеть список всех добавленных вами элементов управления. Заполните эти поля значениями (вероятно, из Динамического содержимого), которые вы хотите использовать в новом документе Word. Наконец, вы можете использовать результаты действия и отправить электронное письмо, сохранить документ в другом месте или выполнить любое другое действие.

Обратите внимание, что в настоящее время повторяющиеся элементы управления содержимым, например используемые в таблицах, не поддерживаются.

Что такое Power Automate?

Power Automate – это сервис для автоматизации рабочего процесса в растущем числе приложений и сервисов SaaS, на которые полагаются бизнес-пользователи.

Power Automate позволяет создавать автоматизированные рабочие процессы, которые помогают оптимизировать бизнес-процессы и сосредоточиться на том, что действительно важно.

Этого можно добиться, комбинируя стандартные блоки, известные как "соединители".

На выбор предлагается несколько сотен коннекторов: вы можете отправлять электронные письма, подключаться к базам данных, вызывать пользовательские API, подключаться к Dynamics, SharePoint, Planner и т. д.

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

В сегодняшней публикации я объясню, как использовать коннектор Word в Power Automate для создания некоторых документов. Это будет полезно в любое время, когда у вас есть бизнес-процесс, который должен отправить письмо, заключить контракт или создать любую документацию, которую необходимо распечатать и/или подписать.

Подготовьте шаблон

Первое, что вам нужно, это шаблон Word.

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

Давайте начнем со следующих шагов:

  1. В Word выберите "Файл" > "Создать"
  2. В списке доступных шаблонов найдите нужный шаблон.Для этого примера я использую фирменный бланк с синей кривой, потому что мне лень писать собственный шаблон.
  3. Это даст вам предварительный просмотр шаблона. Просто нажмите «Создать», чтобы создать новый документ из этого шаблона. При желании вы можете использовать новый пустой документ и скопировать и вставить существующий шаблон. Я не привередлив.
  4. Чтобы динамически вставлять контент в шаблон, вам потребуется создать некоторые элементы управления контентом. Элементы управления содержимым позволяют вам определять области в документе Word, которые вы хотите сделать редактируемыми. В шаблоне фирменного бланка "Синяя кривая" уже есть элементы управления содержимым, но мы также определим некоторые пользовательские.
  5. Чтобы вставить элементы управления содержимым, необходимо использовать вкладку "Разработчик". Если вы уже видите вкладку разработчика, перейдите к шагу 8.
    .
  6. Если вы не видите вкладку "Разработчик", щелкните правой кнопкой мыши свободное место на ленте Word и выберите "Настроить ленту"…
  7. В диалоговом окне «Настройка ленты и сочетаний клавиш» найдите вкладку «Разработчик» в правой части диалогового окна (в разделе «Настроить ленту») и проверьте ее, затем выберите «ОК».
  8. Давайте вставим в наш шаблон настраиваемый элемент управления содержимым. В этом примере мы притворимся, что хотим указать номер дела в нашем письме. В документе Word найдите строку между [Имя получателя], [Адрес улицы, город, почтовый индекс ST] и Уважаемый получатель, вставьте новую строку, затем введите Номер дела:.
  9. Поместите курсор справа от номера обращения: и на вкладке "Разработчик" выберите элемент управления "Обычный текст".

    Вы должны увидеть новый элемент управления содержимым там, где был курсор:
  10. Чтобы изменить текст подсказки для заполнителя номера дела, выберите «Режим разработки» на вкладке «Разработчик»
  11. Word выделит элементы управления содержимым в вашем документе. Заменить Нажмите или коснитесь здесь, чтобы ввести текст с [Номер дела]. Вы также можете управлять форматом текста, если хотите.
  12. Если вы согласны, замените замещающий текст в других элементах управления содержимым в своем шаблоне. 13. Чтобы выйти из режима разработки, щелкните его еще раз на ленте. Заполнители должны снова скрыться.
  13. Выберите элемент управления содержимым [Номер дела] и выберите «Свойства» на вкладке «Разработчик».
  14. В диалоговом окне «Свойства элемента управления содержимым» измените «Заголовок» на «Номер обращения», затем нажмите «ОК».
  15. Повторите настройку свойств элемента управления содержимым для всех элементов управления содержимым, иначе они не будут отображаться как динамические поля для заполнения в Power Automate.
  16. Когда ваш шаблон будет готов, вам нужно будет сохранить его как шаблон (dotx) и сохранить его там, где Power Automate сможет его найти. Мне нравится хранить свои шаблоны в библиотеке документов SharePoint, которую я создал заранее (она называется «Шаблоны» — я знаю, очень оригинально). Для этого используйте меню «Файл Word», затем «Сохранить как», затем выберите нужный сайт SharePoint и библиотеку документов, затем нажмите «Сохранить».
    Если хотите знать, я назвал свой шаблон письма с обращением.
  17. После сохранения документа в виде шаблона на сайте SharePoint мы готовы создать рабочий процесс в Power Automate.

    Подготовьте поток

    Давайте создадим поток в Power Automate.

    В реальном сценарии вы, вероятно, захотите, чтобы изменение в ваших системах инициировало создание документа — например, новая запись в Dynamics 365, изменение записи в Common Data Services или новая запись в SharePoint.

    Однако, чтобы упростить этот пример, я буду использовать простой ручной триггер, который мы можем вызвать в любое время.

    Для этого выполните следующие действия:

    Мы почти закончили! На следующем шаге мы сохраним только что созданный документ в библиотеке SharePoint.

    Сохранение созданного документа

    Действие Заполнить шаблон Microsoft Word создает документ, но ничего с ним не делает. Вы можете сохранить его где-нибудь, преобразовать в PDF или отправить по электронной почте.

    В нашем примере мы будем использовать действие создания файла SharePoint, выполнив следующие действия:

    1. Под действием «Заполнить шаблон Microsoft Word» выберите + Новый шаг.
    2. В диалоговом окне Выберите действие введите SharePoint и выберите Создать файл из списка возможных действий.
    3. В только что созданном действии под названием «Создать файл» выберите адрес сайта, на котором вы хотите сохранить документ, и путь к папке для библиотеки документов, куда будут помещены вновь созданные документы.
    4. В качестве имени файла используйте динамическое значение номера обращения из триггера.
    5. Для содержимого файла используйте документ Microsoft Word из действия «Заполнить шаблон Microsoft Word».
    6. Вот оно! Теперь нам просто нужно протестировать поток, выбрав «Сохранить и протестировать».Когда будет предложено ввести значения, введите несколько текстовых значений и нажмите Запустить процесс

      После завершения потока вы найдете документ с соответствующим номером обращения в целевой библиотеке. Это должно выглядеть так:

      А как насчет условных разделов?

      На самом деле это все, что нужно сделать... но я часто получаю вопрос: "Как мне изменить содержимое шаблона на основе некоторых условных значений?".

      Самый простой ответ: просто используйте несколько шаблонов и создайте условную логику в своем потоке, чтобы заполнить соответствующий шаблон на основе любых правил, которые вы хотите.

      Помогите, мои элементы управления содержимым не отображаются в шаблоне заполнения шаблона Microsoft Word

      Если вы обнаружите, что элементы управления содержимым не отображаются после сохранения шаблона, я обнаружил, что добавление заголовка к элементу управления свойством может помочь.

      Если это не сработает, убедитесь, что вы использовали элемент управления "Обычный текст", и попробуйте удалить форматирование.

      Если шаблон не обновляется, попробуйте сохранить поток, выйти из потока, а затем снова отредактировать его. Он перезагрузит шаблон и должен обновить список элементов управления содержимым.

      Заключение

      Как вы могли заметить, создание правильного шаблона Word может занять больше времени, чем динамическое заполнение документа в Power Automate.

      Я рекомендую вам изучить возможности коннектора Word Online (Business).

      Вам нужно создать собственный документ Word на основе данных CDS. С чего начать? Как изменить данные в документе Word? Что ж, эта запись в блоге покажет вам, как создать счет-фактуру документа Word из шаблона и использовать собственные соединители Microsoft для решения проблемы. Мы также рассмотрим возможность создания PDF-файла из документа без каких-либо сторонних затрат или проблем с данными.

      С чего начать

      Во-первых, нам понадобятся четыре вещи.

      1. Данные CDS
      2. Файловое хранилище (я буду использовать OneDrive)
      3. Премиум-лицензия Power Automate
      4. Майкрософт Ворд

      Итак, нам нужно установить Microsoft Word, зачем? Что ж, нам нужен Word, так как мы собираемся создать шаблон Microsoft Word в нашей системе. Это позволит использовать для создания шаблона, в который мы можем передавать информацию в Power Automate, так что давайте начнем с него.

      Microsoft Word — шаблон и дизайн

      Если вы никогда раньше не создавали шаблон Word, вам потребуется включить функции разработчика. Для этого выполните следующие действия:

      1. Открыть Word
      2. Нажмите "Файл".
      3. Выберите параметры
      4. Нажмите "Настроить ленту".
      5. В левом столбце найдите «Разработчик».
      6. Нажмите "Добавить >>"

      Теперь вы включили параметры разработчика на своей ленте!

      Отсюда мы теперь можем создать наш шаблон Word, по сути, в данный момент мы просто делаем счет в word. Я использую таблицы, чтобы упростить разделение контента, и предлагаю вам сделать то же самое. Используйте фиктивные данные для создания имитации счета-фактуры (см. пример ниже).

      Теперь у нас есть пример нашего счета, который мы хотим открыть на вкладке разработчика. Мы хотим заменить фиктивные данные элементами управления текстовым содержимым. Вы можете увидеть элемент управления, выделенный ниже, и пример того, как он выглядит при вставке:

      После того как вы добавили элемент управления вместо некоторых фиктивных данных (например, номера счета, показанного выше), вам нужно нажать «Свойства» в разделе «Разработчик» > «Элементы управления» на вашей ленте. Это позволит использовать для назначения заголовка и тега этому элементу управления. См. ниже:

      Почему мы хотим это сделать?

      При открытии этого шаблона в Power Automate нам будет предложено передать данные в этот тег.Мы фактически даем имена параметрам нашего шаблона, готовясь к открытию этого шаблона в Power Automate. Добавьте все эти элементы управления и назовите их соответствующим образом, пока не закончите. Если вы добавляете несколько элементов, назовите их, например, Элемент1, Элемент2, чтобы вы знали, что они представляют в вашем потоке.

      Заполнение шаблона Word (общий)

      Нам нужно добавить действие «Заполнить шаблон Microsoft Word» в наш поток. Теперь здесь все может легко развалиться. Если мы просто используем один и тот же документ для заполнения каждый раз, мы можем просто выбрать «Расположение», «Библиотека документов» и «Файл». Это даст нам список полей для заполнения.

      При таком подходе мы можем просто добавлять динамические или статические значения в поля и заполнять шаблон, однако, если мы динамически передаем документ Word, нам нужно использовать подход динамической схемы файлов. Этот подход находится в отдельном разделе.

      Теперь, когда мы заполнили наши значения, мы можем просто создать файл с содержимым выходных данных нашего действия «Заполнить шаблон Microsoft Word».

      Заполнение шаблона Word (динамическая схема файла)

      Этот подход требует, чтобы мы использовали XML/XPath для определения идентификатора поля и его заполнения. Проблема в том, что идентификаторы могут легко измениться, если они не всегда являются одним и тем же документом, поэтому нам нужен способ получения этих идентификаторов.

      Если вы передаете местоположение динамически, вы получите следующее представление:

      Схема dynamicFileSchema — это место, где вы будете заполнять шаблон, однако для этого вам необходимо получить идентификаторы. Для этого вам понадобится XML документа.

      Сначала сохраните копию документа Word, измените тип файла на .zip, а затем извлеките содержимое. Это предоставит вам все документы, используемые для создания документа Word. Затем вам нужно открыть папку, затем папку «word», а затем открыть файл document.xml.

      Теперь, когда у вас открыт XML-документ, вы можете найти идентификатор элемента, который вы хотите заполнить. В приведенном ниже примере показан идентификатор, который нам потребуется для заполнения имени клиента в счете-фактуре.

      Теперь мы можем заполнить dynamicFileSchema идентификатором и информацией, которую мы хотим передать. Взгляд высокого уровня на код, который мы будем передавать, будет похож на:

      Реальный пример для нашего поля «Имя клиента» будет выглядеть так:

      При этом будет выбрано поле с помощью идентификатора, а «FlowJoe» будет передано в имя клиента.

      Конечный результат будет выглядеть примерно так:

      Очевидно, что вы можете заменить «FlowJoe» любыми динамическими данными по вашему выбору.

      Здесь вы можете создать заполненный текстовый документ с помощью команды «Создать файл» (или альтернативы SharePoint) и передать содержимое файла с помощью действия «Заполнить шаблон Microsoft Word».

      Это НЕ будет работать для документов, созданных в виде шаблона, поскольку идентификаторы будут продолжать изменяться. Чтобы справиться с этим, вам потребуется открыть XML-документ в Power Automate и создать поток, который извлекает идентификатор на основе псевдоним.

      Создание PDF-файла из шаблона

      Чтобы создать PDF-файл из шаблона Word, вы можете просто сохранить документ в нужном месте, чтобы создать заполненный текстовый документ, а затем использовать действие «Преобразовать файл» при выборе PDF-файла и использовать выходные данные в «Создать файл» (OneDrive)/ Создать элемент (SharePoint).

      Вот пример использования действия «Преобразовать файл»:

      Имя файла: outputs('Convert_file')['headers']['x-ms-file-name']

      Читайте также: