Поделиться через


Получение надстройки Business Central для Excel

Business Central включает надстройку для Excel, которая позволяет пользователям выбирать действие Изменить в Excel на определенных страницах, чтобы открыть данные на листе Excel. Это действие отличается от действия Открыть в Excel, потому что оно позволяет пользователям вносить изменения в Excel, а затем публиковать изменения обратно в Business Central

Обзор

О надстройке

Надстройка называется Надстройка Office Microsoft Dynamics и ее можно установить из Магазина Office (AppSource). После установки надстройки действие Изменить в Excel доступно на большинстве страниц списков и частей списков по значку Поделиться Поделитесь страницей в другом приложении.. Дополнительную информацию по использованию надстройки см. в разделе Просмотр и редактирование в Excel из Business Central.

Примечание

Надстройка работает только в Windows, но не в macOS.

О развертывании в качестве администратора

С Business Central Online есть несколько вариантов развертывания для предоставления надстройки пользователям. Один из вариантов — индивидуальное получение, когда вы разрешаете пользователям устанавливать надстройку самостоятельно. При использовании этого параметра у пользователей должен быть доступ к загрузке файлов из Магазина Office. Другой вариант — настроить Централизованное развертывание в центре администрирования Microsoft 365 для автоматического развертывания надстройки для всей организации, групп или конкретных пользователей. Централизованное развертывание позволяет предоставить надстройку пользователям, если ваша организация не предоставляет пользователям доступ к Магазину Office.

Для конечного пользователя процесс установки отличается для двух сценариев развертывания:

  • При индивидуальном получении пользователи сначала выбирают действие Изменить в Excel, затем панель Создать надстройку Office открывается в Excel. Чтобы установить надстройку, пользователь выбирает Доверять этой надстройке, что установит надстройку прямо из магазина Office. Затем пользователи входят в Business Central, используя свое имя пользователя и пароль.

  • При централизованном развертывании пользователи сначала выбирают действие Изменить в Excel, надстройка автоматически устанавливается в Excel из централизованного развертывания; а не магазина Office. Единственное, что нужно сделать пользователям, это войти в Business Central

При использовании обоих этих вариантов развертывания надстройка автоматически настраивается для подключения к Business Central. Третий вариант развертывания — это установка надстройки вручную непосредственно из Excel. С помощью этого варианта пользователям нужно настроить надстройку для подключения к Business Central

Переход от индивидуального получения к централизованному развертыванию или наоборот

Когда вы переходите с индивидуального получения надстройки на централизованное развертывание или наоборот, это влияет на файлы Excel, созданные пользователями до перехода. После перехода пользователи по-прежнему могут открывать любые листы Excel, ранее созданные с помощью действия Изменить в Excel или созданные вручную путем настройки надстройки Excel. Но они не могут обновить данные в файле из Business Central или отправить обновления в Business Central.

Это условие вызвано тем, что каждому файлу Excel присваивается идентификатор «надстройки». При переходе к централизованному развертыванию или из него назначается другой идентификатор, поэтому более ранний идентификатор становится заблокированным.

Подготовка (только локальная версия)

Локальная версия Business Central требует, чтобы ваша среда была настроена для надстройки. В противном случае действие Изменить в Excel недоступно пользователям. Подробнее см. в разделе Настройка надстройки Excel для редактирования данных Business Central в справке для разработчиков и ИТ-специалистов.

Разверните надстройку с помощью централизованного развертывания

Централизованное развертывание — это функция центра администрирования Microsoft 365, которую вы используете для автоматической установки надстроек в пользовательских приложениях Office, таких как Excel. Чтобы помочь вам с централизованным развертыванием, Business Central содержит мастер Централизованное развертывание надстроек Excel.

Подготовка к работе

Заметка

Включение централизованного развертывания влияет на функции, использующие надстройку Excel, такие как действие Изменить в Excel. Это не влияет на другие связанные с Excel функции и/или разрешения, назначенные пользователям в Business Central

Настроить централизованное развертывание надстройки

В этой задаче вы будете работать в Business Central и в центре администрирования Microsoft 365.

  1. В Business Central выберите значок Лампочка, которая открывает функцию «Что вы хотите сделать»., введите Централизованное развертывание надстройки Excel, затем выберите связанную ссылку.

  2. Прочтите информацию на странице Настройка надстройки Excel для Business Central и выберите Далее.

  3. Войдите в центр администрирования Microsoft 365 и перейдите в Интегрированные приложения.

    Выполните следующие шаги, чтобы настроить надстройку для развертывания из Магазина Office:

    1. Выберите Получить приложения, чтобы открыть Магазин Office (AppSource).

    2. Найдите Надстройка Microsoft Dynamics Office, затем выберите Получить сейчас.

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

    4. Проверьте Принимать запросы разрешений, затем выберите Далее>Завершить развертывание.

    5. Подождите, пока появится зеленая галочка рядом с Развернуто для надстройки, затем выберите Готово.

      Надстройка появится на странице Надстройки. Дополнительные сведения о развертывании надстроек в центре администрирования Microsoft 365 см. в разделе Развертывание надстроек в центре администрирования.

  4. Вернитесь к мастеру настройки Централизованное развертывание надстройки Excel в Business Central и выберите Далее.

  5. Включите Использовать централизованное развертывание, и выберите Готово.

    Если вы не включите этот переключатель, Business Central получает надстройку прямо из Магазина Office.

По завершении вы всегда можете изменить развертывание в центре администрирования Microsoft 365, например назначить больше пользователей. Дополнительные сведения о развертывании надстроек в центре администрирования см. в разделе Развертывание надстроек в центре администрирования.

Важно!

Если у вас более одной среды, вы должны запустить мастер настройки Централизованное развертывание надстройки Excel в каждой среде, в которой вы хотите использовать централизованное развертывание. Однако вам не нужно снова настраивать централизованное развертывание в Microsoft 365. Единственное, что вам нужно сделать, это включить переключатель Использовать централизованное развертывание в мастере настройки.

Примечание

Может пройти до 24 часов, прежде чем надстройка будет автоматически развернута пользователями в Excel.

Индивидуальное получение. Установка надстройки вручную для собственного использования

В большинстве случаев, когда вы открываете Excel из Business Central, надстройка либо устанавливается автоматически, либо вам предлагается установить ее. Однако могут быть случаи, когда вам придется вручную установить надстройку.

  1. Откройте Excel, затем откройте любую книгу Excel.
  2. На вкладке Главная выберите Надстройки>Другие надстройки.
  3. Перейдите Управляется администратором и найдите Надстройка Microsoft Dynamics Office. Если она там есть, выберите ее, затем выберите Добавить. Если ее там нет, перейдите в Магазин, затем найдите Надстройка Microsoft Dynamics Office и следуйте инструкциям на экране, чтобы добавить ее.

Когда надстройка установлена, она отображается в Excel в виде панели. Далее настройте подключение.

Настроить соединение с Business Central

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

  1. В области надстройки Microsoft Dynamics в Excel выберите Добавить информацию о сервере. Если вы не видите его, выберите значок Кнопка «Дополнительные параметры» в Excel. в верхней части, чтобы открыть диалоговое окно параметров.
  2. Для Business Central Online установите URL-адрес сервера как https://exceladdinprovider.smb.dynamics.com. Для локальной версии Business Central установите для него URL-адрес веб-клиента, например https://myBCserver/240.
  3. Выберите ОК, а затем убедитесь, что приложение перезагружается.
  4. При появлении подсказки войдите в Business Central со своими именем пользователя и паролем.
  5. Необязательно: выберите среду и организацию, к которым вы хотите подключиться.

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

Подготовьте устройства и сеть для надстройки Excel

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

Устранение неполадок

Иногда у пользователей возникают проблемы с надстройкой Excel. В этом разделе дается несколько советов, как разблокировать пользователей в определенных обстоятельствах.

Проблема Решение или обходной путь Комментарии
Надстройка не запускается

Например, пользователь получает сообщение «Предупреждение надстройки: эта надстройка больше недоступна», когда пытается использовать надстройку. Эта конкретная проблема может возникнуть, если централизованное развертывание настроено правильно, но пользователю не назначен доступ.
Убедитесь, что надстройка развернута централизованно. Или проверьте, не заблокирована ли пользователю возможность ее локальной установки. Администратор может настроить Office так, чтобы пользователи не могли получать надстройки. В таких случаях администратор должен развернуть надстройку централизованно. Для получения дополнительной информации см. Развертывание надстроек в центре администрирования.
Данные не загружаются в Excel Проверьте соединение, открыв другой список в Excel из Business Central. Или откройте книгу в Excel в браузере. Если пользователь указал название компании, содержащее специальные символы, надстройка не сможет подключиться.
Данные не могут быть опубликованы обратно в Business Central. Проверьте соединение, открыв книгу в Excel в браузере. Иногда расширение может блокировать публикацию. Если страница развернута или настроена, удалите расширения и повторите попытку.
Даты неправильные Excel может отображать время и даты в формате, отличном от Business Central. Это условие не делает их неправильными, и данные в Business Central не будут перепутаны.
Для некоторых страниц списков редактирование нескольких строк в Excel постоянно вызывает ошибки. Это состояние может возникнуть, если вызовы OData включают FlowFields и поля вне элемента управления повторителя. На странице Веб-службы установите флажки Исключить нередактируемые поля FlowFields и Исключить поля за пределами повторителя для опубликованной страницы. Установка этих флажков исключает нередактируемые поля FlowFields и поля из расчета eTag. Эти флажки по умолчанию скрыты. Чтобы показать их на странице Веб-службы, используйте персонализацию.
Пользователи больше не могут войти в надстройку. Когда они пытаются войти, процесс останавливается без завершения. Эта проблема может быть вызвана обновлением, которое мы внесли в надстройку где-то в июле 2022 года. Дополнительную информацию и сведения об исправлении см. в разделе Изменение конфигурации надстройки Excel для поддержки обновления за июль 2022 г.. Относится только к локальной версии Business Central On-Premises
Надстройка осуществляет взаимодействие с помощью API версии 2.0 для Dynamics 365 Business Central, и все ограничения этого API наследуются автоматически. Примером такого ограничения является ситуация, когда вы пытаетесь отредактировать список, а в логике AL лежащей в его основе карточки используется диалоговое окно подтверждения — например, в качестве логики проверки. Иногда ничего делать не нужно, потому что необходимость явного подтверждения изменения пользователем является элементом функциональности. Если подтверждением при использовании функции Редактировать в Excel можно пренебречь, вы можете обернуть вызов диалогового окна подтверждения в условный оператор, который проверяет, отличается ли тип клиента от ODataV4, например: if SESSION.CurrentClientType() <> ClientType::ODataV4 then. Возможно, существуют другие клиенты, из которых вы хотите удалить диалоговое окно подтверждения, такие как OData и SOAP.

Известные ограничения в бизнес-логике

Стр. Ограничение Комментарии
Заказы на продажу Сообщение об ошибке: «Службы данных Microsoft Dynamics 365 Business Central попытались выполнить обратный вызов клиента для запуска страницы 301 Список адресов доставки как модального окна». Обратные вызовы клиентов не поддерживаются в службах данных Microsoft Dynamics 365 Business Central. Код получателя на странице Заказ на продажу можно редактировать только с определенными параметрами получателя. При установке для альтернативного адреса доставки значения Получатель открывается модальное диалоговое окно Список адресов доставки, которое несовместимо с функцией редактирования в Excel.
Журнал проектов Обновление поля Цена единицы не приводит к обновлению поля Сумма строки. Вместо этого обновляется Скидка по строке. Используя веб-клиент, вы можете обновлять поля в любом заказе: цену, сумму, скидку по строке. Другие поля обновляются автоматически. Чтобы избежать каскадных обновлений, поля имеют расширенную логику, основанную на xRec, которая ведет себя по-другому при вызове через API.

Известные ограничения при создании метаданных

При использовании функции Изменить в Excel в Business Central, либо выбрав действие Изменить в Excel на странице, либо при загрузке надстройки Excel после открытия книги Excel, может возникнуть следующая ошибка: Не удалось получить метаданные для сущности <имя сущности> , так как она не была найдена.

Эта ошибка возникает, когда страница, которую вы пытаетесь изменить, становится слишком сложной для эффективной обработки с помощью действия Изменить в Excel. Основной причиной является установка нескольких расширений, которые добавляют поля с одинаковыми именами на одну и ту же родительскую страницу, что приводит к конфликтам. Также возможно, что одно расширение заблокирует генерацию метаданных.

Одно расширение блокирует создание метаданных

Рассмотрим следующий сценарий с использованием расширения A, которое включает расширение страницы CustomerCardExtA и страницу WebViewerA, где PageType = CardPart.

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

Чтобы решить эту проблему, необходимо добавить свойство КлиентSourceTable на страницу WebViewerA. Пример этой модификации можно наблюдать во фрагментах кода, содержащих CustomerCardExtB и WebViewerB.

В некоторых случаях вам может потребоваться встроить CardPart на несколько страниц без ссылки на конкретную исходную таблицу. Для таких сценариев мы рекомендуем создать отдельный файл CardPart для каждой страницы, где вам также необходимо сгенерировать метаданные и выполнить рефакторинг общей логики в codeunit.

pageextension 50120 CustomerCardExtA extends "Customer Card"
{
    layout
    {
        addlast(content)
        {
            part("Bing WebViewer"; "WebViewer")
            {
                ApplicationArea = All;
            }
        }
    }
}
page 50120 "WebViewerA"
{
    ApplicationArea = All;
    Caption = 'WebViewer', Locked = true;
    PageType = CardPart;

    layout
    {
        area(Content)
        {
            usercontrol(WebViewer; WebPageViewer)
            {
                #region ControlAddInReady
                trigger ControlAddInReady(callbackUrl: Text)
                begin
                    CurrPage.WebViewer.Navigate('https://www.bing.com')
                end;
                #endregion ControlAddInReady
            }
        }
    }
}
pageextension 50120 CustomerCardExtB extends "Customer Card"
{
    layout
    {
        addlast(content)
        {
            part("Bing WebViewer"; "WebViewer")
            {
                ApplicationArea = All;
            }
        }
    }
}
page 50120 "WebViewerB"
{
    ApplicationArea = All;
    Caption = 'WebViewer', Locked = true;
    PageType = CardPart;
    SourceTable = Customer;

    layout
    {
        area(Content)
        {
            usercontrol(WebViewer; WebPageViewer)
            {
                #region ControlAddInReady
                trigger ControlAddInReady(callbackUrl: Text)
                begin
                    CurrPage.WebViewer.Navigate('https://www.bing.com')
                end;
                #endregion ControlAddInReady
            }
        }
    }
}

Несколько расширений, вызывающие коллизии

Для решения этой проблемы есть два возможных решения:

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

  2. Изменить код расширения: это решение включает анализ основной причины проблемы и ее устранение путем изменения кода конфликтующих расширений.

Чтобы лучше понять эту проблему, рассмотрим следующий пример, включающий страницу Карточка клиента (ИД 21). Когда вы находитесь на странице Список клиентов (ИД 22) и выбираете Изменить в Excel, в фоновом режиме создается веб-служба, которая отображает поля со страницы Карточка клиента. Этот веб-сервис включает все поля страницы, определенные на странице Карточка клиента, тогда как поля таблицы отображаются только в том случае, если они соответствуют полю страницы или являются частью первичного ключа.

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

Например, предположим, что установлено следующее расширение, именуемое A:

using Microsoft.Sales.Customer;

// Extension A
pageextension 50101 CustomerCardExtA extends "Customer Card"
{
    layout
    {
        addLast(General)
        {
            field("ShoeSize"; Rec.ShoeSize)
            {
                ApplicationArea = ALL;
                Caption = 'ShoeSize';
            }
        }
    }
}

tableextension 50101 CustomerTableExtension extends Customer
{
    fields
    {
        field(50100; ShoeSize; Integer) { }
    }
}

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

using Microsoft.Sales.Customer;

// Extension B
pageextension 50102 CustomerCardExtB extends "Customer Card"
{
    layout
    {
        addLast(General)
        {
            field("ShoeSize"; Rec.ShoeSizeField)
            {
                ApplicationArea = ALL;
                Caption = 'ShoeSize';
            }
        }
    }
}

tableextension 50102 CustomerTableExtension extends Customer
{
    fields
    {
        field(50105; ShoeSizeField; Integer) { }
    }
}

В этом сценарии оба расширения A и B добавляют поле страницы с именем ShoeSize на страницу Карточка клиента. Это условие приводит к конфликту, который приводит к сбою генерации метаданных для страницы Карточка клиента.

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

См. также

Анализ финансовых отчетов в Microsoft Excel
Работа с Business Central
Улучшения интеграции с Excel в волне 2 выпуска 2019 года

Бесплатные модули электронного обучения для Business Central можно найти здесь