function load() {
debugger;
Xrm.Page.data.process.addOnStageChange(function () {
var nextStageName = Xrm.Page.data.process.getActiveStage().getName();
debugger;
switch (nextStageName) {
case "探客":
break;
case "案件分析":
checkCofirmField("cr3bb_detectivecustomers")
break;
case "提案":
checkCofirmField("cr3bb_caseanalysis")
break;
case "クロージング":
checkCofirmField("cr3bb_proposal")
break;
case "契約":
checkCofirmField("cr3bb_closing")
break;
case "PJ実行":
checkCofirmField("cr3bb_contract")
break;
case "PJクロージング":
checkCofirmField("cr3bb_pjexecution")
break;
}
})
}
function checkCofirmField(fieldName) {
var fieldVal = Xrm.Page.getAttribute(fieldName).getValue();
if (fieldVal == 2 || fieldVal == 3) {
return true;
}
else {
Xrm.Page.data.process.movePrevious(function () {
Xrm.Utility.showProgressIndicator("次の段階に進むことはできません");
setTimeout(function () {
Xrm.Utility.closeProgressIndicator();
}, 3000)
}
);
return false;
}
}
function ProcessStatusChange() {
Xrm.Page.data.process.addOnPreStageChange(function (context) {
var objProcessContext = context.getEventArgs();
var nextStageName = Xrm.Page.data.process.getActiveStage().getName();
switch (nextStageName) {
case "探客":
var cr3bb_detectivecustomers_optionset = Xrm.Page.getAttribute("cr3bb_detectivecustomers_optionset").getValue()
if (cr3bb_detectivecustomers_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "案件分析":
var cr3bb_caseanalysis_optionset = Xrm.Page.getAttribute("cr3bb_caseanalysis_optionset").getValue()
if (cr3bb_caseanalysis_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "提案":
var cr3bb_proposal_optionset = Xrm.Page.getAttribute("cr3bb_proposal_optionset").getValue()
if (cr3bb_proposal_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "クロージング":
var cr3bb_closing_optionset = Xrm.Page.getAttribute("cr3bb_closing_optionset").getValue()
if (cr3bb_closing_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "契約":
var cr3bb_contract_optionset = Xrm.Page.getAttribute("cr3bb_contract_optionset").getValue()
if (cr3bb_contract_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "PJ実行":
var cr3bb_pjexecution_optionset = Xrm.Page.getAttribute("cr3bb_pjexecution_optionset").getValue()
if (cr3bb_pjexecution_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
case "PJクロージング":
var cr3bb_pjclosing_optionset = Xrm.Page.getAttribute("cr3bb_pjclosing_optionset").getValue()
if (cr3bb_pjclosing_optionset == null) {
ErrorMessage("タスク情報が未入力のため、次の段階へ進むことはできません。");
}
break;
}
})
Xrm.Page.data.process.addOnProcessStatusChange(function(){//更改结束的状态
debugger
var StageName = Xrm.Page.data.process.getActiveStage().getName();
if(StageName=="PJクロージング")
{
var fieldVal = Xrm.Page.getAttribute("cr3bb_pjclosing").getValue();
if (fieldVal == 2 || fieldVal == 3) {
var cr3bb_pjclosing_optionset = Xrm.Page.getAttribute("cr3bb_pjclosing_optionset").getValue()
if (cr3bb_pjclosing_optionset == null) {
// ErrorMessage("タスク情報が未入力のため、終了むことはできません。");
// objProcessContext.preventDefault()
Xrm.Page.data.process.reactivateProcess();
return false;
}
return true;
}else{
//ErrorMessage("終了むことはできません。");
Xrm.Page.data.process.reactivateProcess();
return false;
}
}
})
}
function ErrorMessage(message) {
alert(message)
}
console