And that was I wrote.
var oService = null;
var oppid = null;
function FormOnLoad()
{
oService = new Ascentium_CrmService(null, null);
var oParentCrmForm = window.opener.parent.document.all.crmForm;
if(oParentCrmForm)
{
oppid = oParentCrmForm.ObjectId;
}
HideComboboxItems();
}
window.HideComboboxItems = function()
{
var newstep = document.getElementById("new_step");
if(newstep)
{
// checking opportunity for quotes
var sFetchXml ='<fetch mapping="logical" aggregate="true" version="1.0"><entity name="quote"><attribute name="quoteid" aggregate="count" alias="count" />'+
'<filter><condition attribute="opportunityid" operator="eq" value="'+oppid+'" /></filter></entity></fetch>';
var aoFetchResult = oService.Fetch(sFetchXml);
var quoteCount = 0;
if(aoFetchResult.length > 0)
{
quoteCount = aoFetchResult[0].attributes["count"].value;
}
// if no qoutes, then hiding items 4,5,6,7 of dropdown list
if(quoteCount == 0 )
{
var allDropDownElements = newstep.childNodes;
var lastnodevalue = allDropDownElements.length;
for(var i=lastnodevalue; i >= 4; i--)
{
newstep.options.remove(i);
}
}
else
{
// if there is some qoutes, then checking for salesorders
var sFetchXml ='&lr;fetch mapping="logical" aggregate="true" version="1.0"><entity name="salesorder"><attribute name="salesorderid" aggregate="count" alias="count" />'+
'<filter><condition attribute="opportunityid" operator="eq" value="'+oppid+'" /></filter></entity></fetch>';
var aoFetchResult = oService.Fetch(sFetchXml);
var SOCount = 0;
if(aoFetchResult.length > 0)
{
SOCount = aoFetchResult[0].attributes["count"].value;
}
// if no salesorders, then hiding items 6,7
if(SOCount == 0)
{
var allDropDownElements = newstep.childNodes;
var lastnodevalue = allDropDownElements.length;
for(var i=lastnodevalue; i >=6; i--)
{
newstep.options.remove(i);
}
}
}
}
}

Комментариев нет:
Отправить комментарий