2011年 crm 工作良好,但 crm 2013 online
机会实体创建我只显示的新记录表格:
1. 某些属性(所有其他字段/部分/标签隐藏在表单上)
2.和 Html按钮一样
function OnFormLoad(){
if(Xrm.Page.ui.getFormType() == 1 ) {
SetRequiredLevelToNone();
createHtmlButton("Save");
HideTabsAndSections()
}
else {
}
}
点击 Html按钮,会触发以下功能。
function showWholeForm() {
Xrm.Page.data.entity.save();
}
我想在保存后显示表单的所有字段,意味着要重新加载整个表单 在crm 2011工作
答案 0 :(得分:0)
CRM 2013中的save
方法不再刷新页面。在这种情况下,应使用新的 refresh
方法,如下所示:
Xrm.Page.data.refresh(save).then(successCallback, errorCallback);
您可以找到此处记录的方法:http://msdn.microsoft.com/en-us/library/dn481607(v=crm.6).aspx
答案 1 :(得分:0)
我认为如果您希望一致性与 CRM 2011 ,请先禁用自动保存。
function OnSaveDisableAutoSave(eventArgs) {
var saveType = eventArgs.getEventArgs().getSaveMode();
if (saveType == 70 ||saveType == 2)
{ //Disable AutoSave
eventArgs.preventDefault();
}
}
然后
function showWholeForm() {
Xrm.Page.data.refresh(true).then(successCallback, errorCallback);
}
答案 2 :(得分:0)
要解决此问题,您可以执行以下操作:
var saved = false;
function onLoad(){
checkIfFormShouldBeReadOnly();
attachEvent();
}
function attachEvent() {
Xrm.Page.data.entity.addOnSave(executeOnSave);
}
function executeOnSave(saveExecution) {
if (!saved) {
saved = true;
Xrm.Page.data.save().then(
function () {
checkIfFormShouldBeReadOnly();
},
function (errorCode, message) {
Xrm.Page.data.refresh();
}
);
}
}