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 != null) {

var accountname = new_accountid[0].name;

var accountid = new_accountid[0].id;

accountid=accountid.replace("{","").replace("}","");

var entityType = new_accountid[0].entityType;

}

//套餐名称

var new_packageid = new Array();

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 new_discount_price=Xrm.Page.getAttribute("new_discount_price").getValue();

//实付金额

var new_actual_pay_amount=Xrm.Page.getAttribute("new_actual_pay_amount").getValue();

//支付状态

var new_pay_status=Xrm.Page.getAttribute("new_pay_status").getValue();

debugger;

//页面赋值

var url = "/CRM/api/data/v9.0/new_charges";

var data = {

new_name:new_name,//名称

"[email protected]":"/accounts("+accountid+")",//客户名称

"[email protected]":"/new_packages("+packageid+")",//套餐名称

new_amount:new_discount_price,//折后总价

new_actually_pay:new_actual_pay_amount,//实付

new_new_pay_status:new_pay_status//结算状态

};

var dataJSON = JSON.stringify(data);

$.ajax({

url:url,

method:"post",

dataType: "json",

contentType:"application/json",

data:dataJSON,

success:function(resp)

{

debugger;

},error:function(resp)

{

alert(resp.responseText);

}

});

}

外加博客,转自:https://blog.csdn.net/vic0228/article/details/50909261。

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

时间: 2024-10-05 03:02:41

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

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(

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

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

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学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新

CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 和 IE9/10 . 它的最大优势是可以通过fetchxml 来查询,这样我们就可以实现真正的多表联合查询,虽然可以用OData终结点的$expand来进行多表的联合查询,但这种方式没办法过滤多表的条件,它只能过滤主表的条件. 下面来看下简单的多表查询的例子: 1.首先定义一个fetchxml: 1

Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用

一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见 function setTabVisableByName(tabName, flag) { var control = Xrm.Page.ui.tabs.get(tabName); control.setVisible(flag); } 这里flag是true或false 2. 控制可用 看了上面的可见代码,是不是以为可用也这么简单呢?其实我们把上面的setV

Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试

我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们调试js,发布js文件也是比较繁琐的事情,最好的办法是全部调好,再发布上去,本文介绍用firefox + firebug + frame可以很方便地调试CRM js,全部调好后,再上传js,明显可以加快开发的速度. 1. 智能提示 CRM相关的方法属性的vs 里加上XrmPageTemplate.j

Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示,及firebug frame调试

我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们调试js,发布js文件也是比较繁琐的事情,最好的办法是全部调好,再发布上去,本文介绍用firefox + firebug + frame可以很方便地调试CRM js,全部调好后,再上传js,明显可以加快开发的速度.   1. vs 里加上XrmPageTemplate.js: http://yunp

Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧

我们经常要对表单里各种类型的字段进行读取或赋值,下面列出各种类型的读写方法及注意事项: 1. lookup 类型 清空值 var state = Xrm.Page.getAttribute("new_state"); if (state != null) { Xrm.Page.getAttribute("new_state").setValue(null); } 读取值 var state = new Array(); state = Xrm.Page.getAtt

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

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