Power Apps 学习笔记 -- Action

1. Action 简介

  Action基础教程 : Action概述

操作Action:
1. 操作Action类似于工作流Workflow,提供一些重用性的操作,允许工作流或其他Web服务端点调用(例如javascript).
2. Action 类似于c#当中的一个方法,需要其他的工作流workflow或者Web服务端调用

2. Action 配置

## power Apps 中注册流程(操作Action)
1. 设置-流程-创建流程
2. 定义操作Action 的输入以及输出

## 编写对应代码并在PluginRegistration当中注册
1. 编写代码 -- 生成签名 -- 生成程序集.dll
2. PluginRegistration当中正常完成插件注册 + 步骤Step绑定

## 通过前端js代码调用/工作流workflow调用
1. js代码调用

  ## power Apps 中注册流程(操作Action)
在这里插入图片描述
在这里插入图片描述

  ## 编写对应代码并在PluginRegistration当中注册

using System;
using Microsoft.Xrm.Sdk;

namespace BasciPlugin {
    public class SampleAction : IPlugin {
        public void Execute(IServiceProvider serviceProvider) {
            ITracingService tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

            string param = context.InputParameters["param"].ToString();
            Entity order = new Entity("crda9_order"); // 新建一个订单
            order["crda9_reason"] = param;
            service.Create(order);

        }
    }
}

在这里插入图片描述

  ## 通过js代码调用

var parameters = {};
parameters.param = "hello, action...";

var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/new_sample_action", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 204) {
            //Success - No Return Data - Do Something
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send(JSON.stringify(parameters));

3. 待补充

相关推荐

  1. ROS学习笔记14:Action通信

    2024-03-17 00:36:02       53 阅读
  2. ROS——Action学习

    2024-03-17 00:36:02       25 阅读
  3. 学习笔记

    2024-03-17 00:36:02       29 阅读
  4. 学习笔记:机器学习

    2024-03-17 00:36:02       79 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 00:36:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 00:36:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 00:36:02       87 阅读
  4. Python语言-面向对象

    2024-03-17 00:36:02       96 阅读

热门阅读

  1. Oracle EBS R12 SLA子分类帐会计 核心标准表(Table)

    2024-03-17 00:36:02       36 阅读
  2. Redis

    Redis

    2024-03-17 00:36:02      37 阅读
  3. Android 固定WIFI热点路由IP

    2024-03-17 00:36:02       43 阅读
  4. Spring中@Controller和@RestController的区别

    2024-03-17 00:36:02       43 阅读
  5. CMake官方教程11--加入导出设置

    2024-03-17 00:36:02       32 阅读
  6. Vue-插槽

    2024-03-17 00:36:02       41 阅读
  7. ps命令 —– 显示进程状态

    2024-03-17 00:36:02       47 阅读