Dynamic CRM 365学习历程--有关CRM的学习过程种需要注意的事项

博客:https://blog.csdn.net/vic0228/article/details/50909261

1:用JS取一个界面上的数据的方法:

//new_packageid代表要取的那个字段的名称。Xrm.Page.getAttribute("new_packageid").getValue();

2:用JS给同一个界面赋值的时候也同样要注意认准字段的名称。

Xrm.Page.getAttribute("new_packageid").setValue();           

3:用JS获取一个界面上的字段的值,然后用JS的保存时间将值通过POST/GET的方式提交到另外一个表单上,并给这个表单上对应的字段赋值。

例如1(int):

//获取数据源界面的字段的值var new_discount_price=Xrm.Page.getAttribute("new_discount_price").getValue();
//获取对象界面的实体路径var url = "/CRM/api/data/v9.0/new_charges";
//将数据封装成对象var data ={
         //"new_amount"就是对象界面的字段的名称
         //"new_discount_price"就是源数据界面的字段的名称
      new_amount:new_discount_price,//折后总价
};
//将对象转换成JSON格式的数据var dataJSON = JSON.stringify(data);
//通过Ajax提交对象$.ajax({
                url:url,//目标地址
                method:"post",//提交方式
                dataType: "json",//提交的数据的类型
                contentType:"application/json",//使用的数据格式
                data:dataJSON,//数据的类型
                success:function(resp)//执行成功的提示信息
                {
                    debugger;
                },error:function(resp)//执行成功的提示信息
                {
                    alert(resp.responseText);
                }
            });


例如2(选项集):

//获取数据源界面的字段的值
var new_pay_status=Xrm.Page.getAttribute("new_pay_status").getValue();
//获取对象界面的实体路径
var url = "/CRM/api/data/v9.0/new_charges";
//将数据封装成对象
var data ={
         //"new_amount"就是对象界面的字段的名称
         //"new_discount_price"就是源数据界面的字段的名称
      new_amount:new_discount_price,//折后总价
};

剩下流程同上



例如3(查找(lookup)):

注意:因为lookup查出来的是一个数组,所以需要一个数组将他封装起来。

new_packageid = Xrm.Page.getAttribute("new_packageid").getValue();
if (new_packageid != null) {
    var packagename = new_packageid[0].name;
    var packageid = new_packageid[0].id;    //替换大括号"{}"
    packageid=packageid.replace("{","").replace("}","");
    var entityType = new_packageid[0].entityType;
}
//获取对象界面的实体路径
var url = "/CRM/api/data/v9.0/new_charges";
//从源数据字段拿到字段的值,赋值给对象实体字段  要注意是/accous"[email protected]":"/accounts("+accountid+")",//客户名称

剩下的同上


待跟进~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

原文地址:https://www.cnblogs.com/sjsmyy/p/10919019.html

时间: 2024-10-17 08:19:08

Dynamic CRM 365学习历程--有关CRM的学习过程种需要注意的事项的相关文章

Dynamic CRM 365学习历程--使用JS进行界面的取值和赋值

使用JS进行界面的取值和赋值 function createCharge() { debugger; var new_name=Xrm.Page.getAttribute("new_name").getValue(); //客户名称 var new_accountid = new Array(); new_accountid = Xrm.Page.getAttribute("new_accountid").getValue(); if (new_accountid

Dynamic CRM 2013学习笔记(四十四)CRM技术支持

有时我们经常遇到一些CRM的问题,一时又无法解决,这时我们可能要找下外援,下面列出一些基本的技术支持.   1. CRM 论坛 https://community.dynamics.com/crm/f/117.aspx   2. Office 365       3. CRM自带的帮助   4. 微软官方支持 http://www.microsoft.com/dynamics/customer/en-US/service-plans.aspx   5. 第三方合作者 http://dynamic

Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务

  1. 添加service:     2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = "BasicHttpBinding_IAuthService"; myBinding.Security.Mode = BasicHttpSecurityMode.None; myBinding.Security.Transport.ClientCredentialType = HttpClie

Dynamic CRM 2013学习笔记(十八)根据主表状态用JS控制子表自定义按钮

有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules –> CustomRule 用js来控制按钮是否显示:   js function: 首先用odata取出主表的状态,然后根据主表的状态来判断是否显示: var approvalStatus = null; function controlUpload(){ var marketingPlan =

Dynamic CRM 2013学习笔记(十四)复制/克隆记录

经常有这样的需求,一个单据上有太多要填写的内容,有时还关联多个子单据,客户不想一个一个地填写,他们想从已有的单据上复制数据,克隆成一条新的记录.本文将介绍如何克隆一条记录,包括它的子单据以生成一条新的记录. 主要用到Microsoft.Xrm.Client.EntityExtensions.Clone方法来克隆数据,以及用OrganizationServiceContext来动态复制子单据的数据. 首先在界面上新加一个Clone的按钮,加一个new_clone的字段:点击按钮时,把new_clo

Dynamic CRM 2013学习笔记(二十八)用JS动态设置字段的change事件、必填以及可见

我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易.但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了. 下面分别介绍如何用js来动态设置.   一.动态设置字段的change事件 // form on load event function onLoad() { init();   pageAttr.delivery_from.addOnChange(deliveryFromChange); pageAttr.type.addOnChange(typ

Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知

审批过程中,经常要求自动发邮件:审批中要通知下一个审批人进行审批:审批完通知申请人已审批完:被拒绝后,要通知已批准的人和申请人.下面详细介绍如何实现一个自动发邮件的插件:   1. 根据审批状态来确定要通知哪个人或哪个角色 状态为2 - 审批中时,查找下一个审批人 /// <summary>/// 下一个审批人/// </summary>/// <returns></returns>private List<Guid> GetNextStepPe

Dynamic CRM 2013学习笔记(二十九)reporting service 常见问题

在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常我们想把一条记录放在一页,下一条记录另起一页,而不是紧连在上一条记录的后面:有时我们还会出现上传报表时报错:An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the repor

Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)

我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤查找控件来实现.本文主要介绍基本的查找控件过滤.多表关联的复杂过滤以及子表里实现查找控件的过滤.   一.简单的过滤 先看下需求: 按"Special GL Indicator" 来过滤 Posting 查找控件增加了preSearch事件.它发生在查找控件显示对话框供用户查找记录之前,与