【Power Platform 持续更新】Model Driven App (Dynamic 365) JavaScript Customer Engagement (Web Resources)

Overview

官方文档:

image.png
image.png

Javascript outline

  • OpenForm/View
  • OnLoad
  • Validation
    • OnChange
  • 注意异常处理
    • 空值
    • 异步

Tools

  • 浏览器插件:Level up for Dynamics 365/Power Apps
  • vscode插件:D365 JavaScript
  • xrmToolBox:
    • rest api
    • fetch xml builder
    • fetch test
    • web resource manager
    • ribbon workbench (也可以网页版)

Name space

if (typeof (MovementRecord) == "undefined") {
   
    MovementRecord = {
    __namespace: true };
}

window.MovementRecord = window.MovementRecord || {
   }

FormContext

var formContext = Xrm.Page.ui.formContext;
Xrm.Page.getAttribute() and Xrm.Page.data.entity.attributes.get()
Xrm.Page.ui.controls.get() and Xrm.Page.getControl()

Get Value

  • Record id
    • Xrm.Page.data.entity.getId();

Environment Variable

function getEnvironmentVariable(schemaName) {
   
    // Get Define id
    // var schemaName = 'clp_SSMS_CTAM_GetAuthorizedPersonList';
    var environmentvariabledefinitionid;
    var value;
    Xrm.WebApi.retrieveMultipleRecords("environmentvariabledefinition", `?$select=environmentvariabledefinitionid&$filter=schemaname eq '${
     schemaName}'`).then(
        function success(results) {
   
            environmentvariabledefinitionid = results.entities[0]["environmentvariabledefinitionid"]; // Guid

            // Get Value
            Xrm.WebApi.retrieveMultipleRecords("environmentvariablevalue", `?$select=value&$filter=_environmentvariabledefinitionid_value eq ${
     environmentvariabledefinitionid}`).then(
                function success(results) {
   
                    value = results.entities[0]["value"]; // Multiline Text
                },
                function (error) {
   
                    console.log(error.message);
                }
            );
        },
        function (error) {
   
            console.log(error.message);
        }
    );
    return value;
}

isDirty() changed field

Xrm.Page.ui.controls.forEach((c) => {
   
  if (c.getAttribute) {
   
    const dirtyAttribute = c.getAttribute();
    if (dirtyAttribute.getIsDirty()) {
   
      formContext.data.entity.save();
      return;
    }
  }
})

Click

var c = parent.document.querySelectorAll('[data-id="dialogCloseIconButton"]');
if(c.length !== 0){
   
  c[0].click();
}

Set Value

date only

var date = '2023-3-2';
XXXX.setValue(new Date(date).toISOString());

Update Owner To Specified Team


async function UpdateOwnerToSpecifiedTeam(teamName,recordID) {
   
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值