11. Mai 2011 15:48
11. Mai 2011 16:14
12. Mai 2011 09:54
Array.prototype.Contains = function(o)
{
var iLength = this.length;
for (var i = 0; i < iLength; i++)
{
if (o == this[i])
{
return true;
}
}
return false;
};
// This is the main function that will filter the picklists
crmForm.FilterPicklist = function x()
{
var oVertriebsphase = crmForm.all.statuscode;
var oWahrscheinlichkeit = crmForm.all.new_closeprobability;
if (oVertriebsphase.DataValue == null)
{
oWahrscheinlichkeit.DataValue = null;
oWahrscheinlichkeit.ForceSubmit = true;
oWahrscheinlichkeit.Disabled = true;
return;
}
var oTempArray = new Array();
var iLength = oWahrscheinlichkeit.originalPicklistOptions.length;
var aCurrentType = new Array();
switch (oVertriebsphase.DataValue)
{
case "1":
aCurrentType = new Array(8,9,1,2,3,4,5);
break;
case "2":
aCurrentType = new Array(8,9,1,2,3,4,5);
break;
case "200000":
aCurrentType = new Array(8,9,1,2,3,4,5);
break;
case "200001":
aCurrentType = new Array(8,9,1,2,3,4,5);
break;
case "200002":
aCurrentType = new Array(8,9,1,2,3,4,5);
break;
case "200003":
aCurrentType.push(5);
break;
case "200005":
aCurrentType.push(6);
break;
case "3":
aCurrentType.push(7);
break;
case "5":
aCurrentType.push(8);
break;
case "4":
aCurrentType.push(8);
break;
}
for (var i = 0; i < iLength; i++)
{
if (aCurrentType.Contains(oWahrscheinlichkeit.originalPicklistOptions[i].DataValue))
{
oTempArray.push(oWahrscheinlichkeit.originalPicklistOptions[i]);
}
}
oWahrscheinlichkeit.Options = oTempArray;
if (oTempArray.length > 0)
{
oWahrscheinlichkeit.Disabled = false;
}
else
{
oWahrscheinlichkeit.DataValue = null;
oWahrscheinlichkeit.ForceSubmit = true;
oWahrscheinlichkeit.Disabled = true;
}
}
var CRM_FORM_TYPE_CREATE = 1;
var CRM_FORM_TYPE_UPDATE = 2;
switch (crmForm.FormType)
{
case CRM_FORM_TYPE_CREATE://CREATE_FORM - try these and blow away the vars above
case CRM_FORM_TYPE_UPDATE://UPDATE_FORM
var oWahrscheinlichkeit = crmForm.all.new_closeprobability;
oWahrscheinlichkeit.originalPicklistOptions = oWahrscheinlichkeit.Options;
if (crmForm.all.statuscode.DataValue == null)
{
oWahrscheinlichkeit.Disabled = true;
}
else
{
var iPicklistValue = oWahrscheinlichkeit.DataValue;
crmForm.FilterPicklist();
oWahrscheinlichkeit.DataValue = iPicklistValue;
}
break;
}
12. Mai 2011 10:23
Nein, ich habe kein JavaScript noch auf dieser Picklist hinterlegt. Aber ich habe den Fehler gefunden so das das Script erst einmal funktioniert. Der Fehler war das ich bei der zweiten Picklist ebenfalls im Ereignishandler ebenfall auf das Script verwiesen hab.
Nun habe ich aber das Problem noch, das beim Erstellen einer VC nicht mehr der voreingestellte Standartwert in der zweiten Picklist angezeigt wird. In der Version 4.0 hatte ich für die abhänige Picklist den beigefügten Code benutzt den ich aber nicht für die Version 2011 aufgrund des Arrays umgewandelt bekomme.
13. Mai 2011 09:46
13. Mai 2011 10:19
Ich bin weg von meine ersten Lösung da man mit dieser keinen Wert der zweiten Picklist doppelt vergeben kann.
Diese Lösung finde ich besser aber leider wir hier ebenfalls immer in der zweiten Liste keine default-Wert der zweiten Picklist gesetzt sondern eine lehres Auswahlfeld immer zuerst angezeigt.
16. Mai 2011 13:03
16. Mai 2011 13:18