Oly*_*Oly 10 dynamics-crm dynamics-crm-2013
我对复合属性的主题有疑问,如果你能帮助我,我将不胜感激.我之前在其他问题博客上发布了这个,但没有得到回应我很满意.
我正在编写JavaScript来更新复合(address1_composite)中的字段(即address1_line1,address1_line2,address1_line3,address1_city,address1_stateorprovince,address1_postalcode,address1_country).更新字段后,复合似乎不会更新.我必须打开复合材料并再次关闭它.有没有办法在JavaScript中自动执行此操作?
我尝试了以下想法:
想法1:
Xrm.Page.data.entity.save();
Run Code Online (Sandbox Code Playgroud)
建议在http://community.dynamics.com/crm/b/magnetismsolutionscrmblog/archive/2013/10/22/working-with-dynamics-crm-2013-composite-fields-fly-out-menu.aspx 这个没有任何好处,因为我的客户想要在保存页面之前查看复合材料.此外,我不想为我的客户保存页面,因为他们不想要这个.他们想自己决定何时这样做.
想法2:
Xrm.Page.data.refresh();
Run Code Online (Sandbox Code Playgroud)
这不是我想要的,因为我不想刷新整个页面.我只想刷新复合材料.此外,它还会弹出一个弹出窗口,警告您没有保存页面,这对我的客户来说会很烦人.
想法3:
将地址从地址行写入复合.这感觉就像一个讨厌的黑客.这可能不止一种方法.我用过这个功能
Xrm.Page.getAttribute("address1_composite")._attribute.setValueForCompositeField();
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个,原因如下:
另一个想法是在对复合内部的任何字段进行更改后将焦点设置为复合字段.
Xrm.Page.data.entity.attributes.get("address1_composite").controls.get(0).setFocus();
Run Code Online (Sandbox Code Playgroud)
这是最好的主意,但它远非完美.这会强制用户按下完成按钮,因此将写入字段.我希望有更自动化的东西.
我的问题:如果有一种方法可以在JavaScript中单击复合完成按钮,那将会是多么美妙.这将给我完成按钮的格式和我需要的自动化.
更新 - 2014年4月14日自发布此问题以来,我一直与Microsoft联系,他们说没有支持通过程序单击"完成"按钮的方法.
如果该字段被锁定,CRM JavaScript 不会将数据发送回服务器进行更新。另一种方法是:
plugin在事件上使用服务器端Update,以便保留该值。| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |