与扩展中的辅助设置集成

已完成

在 Dynamics 365 Business Central 2021 年发行版本第 1 波中,手动设置辅助设置中的记录迁移到了新表引导式体验项目中。 该表有一个字段类型用于确定每个记录的类型:

辅助设置 - 这是所有辅助设置向导现在所在的位置。

手动设置 - 这是所有手动设置记录现在所在的位置。

学习 - 学习类型的记录指向外部 URL。

教程 - 教程类型的记录指向角色中心教程。 目前,这些只能由 Microsoft 在 Business Central 平台中添加。 我们正在考虑支持 AL 开发人员及时添加和控制这些教程。

聚焦教程 - 聚焦教程类型的记录指向一种特殊的教程,其中 Business Central 以特殊模式打开页面,该模式会隐藏其他教程并聚焦核心功能,例如在 Excel 中打开共享到 Teams。 在销售和评估场景中使用聚焦教程可展示让客户对产品感到兴奋的关键功能。 请考虑如何将这些聚焦教程用于您自己的功能或其他功能。 下图显示了突出显示页面上的 Teams 和 Excel 集成的聚焦教程。

聚焦教程在页面上隐藏教学提示,并立即突出显示 Teams 和 Excel 集成功能,如下图所示。

视频 - 视频类型的记录使用户能够观看由自定义 URL 提供的视频。 此视频将在 Business Central 中的窗口中播放。 请考虑如何利用视频来解释特性或功能。 视频通常用于销售/评估场景,但也可用于入职培训场景中的培训目的。 下图显示了一个从检查清单中启动的视频播放器。

应用程序功能 - 应用程序功能类型的记录使检查清单任务可打开 Business Central 中的任何页面。 和手动设置类似,此操作也将打开一个页面,并将显示页面教程(如果已定义任何页面教程)。

检查清单项目可以基于引导式体验项目表中的记录,这意味着在检查清单上显示任务之前,您必须先将其添加到引导式体验项目

要在引导式体验项目表中插入记录,请使用引导式体验 codeunit 中的外观功能:

  • InsertManualSetup

  • InsertAssistedSetup

  • InsertLearnLink

  • InsertTour

  • InsertSpotlightTour

  • InsertVideo

  • InsertApplicationFeature

例如,假设您有页面我的 ISV 解决方案设置,用户可以在其中配置您的应用。 您想邀请业务经理从检查清单访问此页面。 在此示例中,您必须在类型为手动设置引导体验项目表中插入一条新记录,并提供元数据作为数据(标题、描述等),如下所述。

创建此记录后,现在可以从检查清单中引用它并将其插入到检查清单中。

轻松访问新应用的设置页面

如果应用指定了设置页面,您可以添加一个选项,以便直接从“扩展管理”页面运行设置页面。 应用开发人员应在应用清单中提供对设置页面的引用,以便 Business Central 识别应为特定应用运行的页面。

实际上,有两个新功能:

  • 对应用中引用的设置页面进行概览,前提是该应用在“引导式体验项目”表中注册设置页面。

  • 在“扩展管理”页面上运行开发者指定页面的新操作。

添加到辅助设置页面

基本应用程序的页面 1901 辅助设置可以让用户快速访问所有辅助设置指南。 本部分介绍如何将辅助设置指南添加到页面。

基本应用程序包含多个对象,用于控制辅助设置页面中显示的项目。 例如,表 1990 引导式体验项目是一个内部表,它是辅助设置页面的源。 Codeunit 1990 引导式体验用于在引导式体验项目表中注册辅助设置指南并从辅助设置页面运行。 引导式体验 codeunit 发布 OnRegisterAssistedSetup 事件,用于通知辅助设置页面添加新项目。

[IntegrationEvent(false, false)]
internal procedure OnRegisterAssistedSetup()
begin
end;

要向辅助设置页面添加辅助设置指南,请添加订阅 OnRegisterAssistedSetup 事件的 codeunit。 以下代码说明了如何添加 ToDoAssistedSetup 辅助设置指南。 示例中还在辅助设置创建上名为任务的新类别,其中列出了一个指向 ToDoAssistedSetup 的链接:

codeunit 50100 "AddToDoAssistedSetup"
{
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Guided Experience", 'OnRegisterAssistedSetup', '', true, true)]
    local procedure OnRegisterAssistedSetup()
    var
        AssistedSetup: Codeunit "Guided Experience";
        GuidedExperienceType: Enum "Guided Experience Type";
        AssistedSetupGroup: Enum "Assisted Setup Group";
        VideoCategory: Enum "Video Category";
    begin
        if not AssistedSetup.Exists(GuidedExperienceType::"Assisted Setup",
            ObjectType::Page,
            Page::"ToDoAssistedSetup") then
        AssistedSetup.InsertAssistedSetup(
        // Link text for the assisted setup guide
        'Add a to-do',
        // Short description, not shown on page
        'Create a task for your team',
        // Text that shows in Description column
       'Register a task for your team and assign people',
       1,
       ObjectType::Page,
       Page::ToDoAssistedSetup,
       // Assign guide to Task category
       AssistedSetupGroup::Tasks,
       //Video URL not required
       '',
       VideoCategory::Uncategorized,
       //Help URL not required
       '');
    end;
}

enumextension 50100 MyEnumExtension extends "Assisted Setup Group"
{
    value(100; Tasks)
    {
    }
}