CRM 2011 Close Quote Dialog Box 定制

公司按照自己的商业流程来使用CRM,在签署合同之后并不需要创建订单Order,而是直接关闭。

但是Quote的默认关闭窗口如下:

image

第一个问题是“Status Reason”只有上面三个选项,都不是很适合,然后另外就是默认选择了创建revised quote,这个也不符合公司流程。

其实可以专门创建一个Ribbon button,用特定的action来实现,但是不想额外的开发,最终选择了下面的步骤:

1. 修改statuscode,在Closed Status下添加一个新的Label

image

2. 进入CRM Application Server,修改C:\Program Files\Microsoft Dynamics CRM\CRMWeb\SFA\quotes\dlg_close.aspx,插入下面代码 window.onload function

document.getElementById("rdNoRevisedQuote").checked = true;
document.getElementById("rdCreateRevisedQuote").checked = false;

修改之后的代码

<script language="javascript">
var oArgs = null;
function window.onload( )
{
document.getElementById("rdNoRevisedQuote").checked = true;
document.getElementById("rdCreateRevisedQuote").checked = false;
oArgs = getDialogArguments();
if(! <%= _canCloseOpportunity.ToString().ToLower() %>)
{
lbCloseOpp.disabled = true;
chkCloseOpp.disabled = true;
}
quoteNumber.innerText = oArgs.quoteNumber;
revisionNumber.innerText = oArgs.revisionNumber;

 

修改之后结果变成下面

image

这种做法其实是有后患的,后续升级的时候并不支持,这里只是提供一种方法,之后会补充一下ribbon button的解决方案

posted @ 2015-12-30 18:49  lightyun  阅读(355)  评论(0编辑  收藏  举报