我需要覆盖MARK COMPLETE功能区按钮以进行自定义活动。
需要填充一个字段才能完成活动。
如果是的话,我必须检查天气区域是否已填充并完成活动。
我计划编写JS函数来检查字段并完成活动,并使用RIBBON WORKBENCH将此功能应用于功能区按钮。
我有两个问题: - 有没有完成活动的JS命令? - 如果我将此功能添加到功能区按钮,它将覆盖默认'完成'功能,还是我需要以某种方式禁用此功能?
随时告诉我是否需要更详细地阐述这些问题。
答案 0 :(得分:1)
我不会覆盖默认行为,您最终会得到一个开箱即用的按钮,这个按钮很可能会恢复到应用CU或CRM升级时的状态。
标记为完全触发OnSave,利用这一事实,为什么不让你OnSave寻找保存模式值? Save Mode 58 on activities are Save as Completed并执行您的任务?
function onSave(executionContext) {
var eventArgs = executionContext.getEventArgs();
var saveMode = eventArgs.getSaveMode();
if (saveMode === 58) { //Mark as complete
//do something
//checks failed,don't want the user to mark as complete?
eventArgs.preventDefault();
return false;
}
};
答案 1 :(得分:0)
我根据您的回复制作了一些功能。希望这能完成这项工作。
function onSave(executionContext) {
var eventArgs = executionContext.getEventArgs();
var saveMode = eventArgs.getSaveMode();
if (saveMode === 58) {
var sendDate = Xrm.Page.getAttribute("ad_sampleproductssenton");
Xrm.Page.ui.clearFormNotification('sampleId');
if((sendDate=== null)||(sendDate==="undefined")){
Xrm.Page.ui.setFormNotification("You have to populate 'Sample Product Sent On' field!", "ERROR", 'sampleId');
eventArgs.preventDefault();
return false;
}else{
Xrm.Page.ui.clearFormNotification('sampleId');
}
}
};