[gelöst] Felder automatisch befüllen lassen

18. März 2010 13:48

Hallo alle zusammen,

ich bin hier neu und vorweg....Ich bin absolut Neuling in Anpassung von CRM.

mein Problemchen: Ich will ein Feld automatisch befüllen lassen. Weil für unsere Zwecke eine ständige Eingabe in diesem Feld einfach ein zu großer Aufwand bedeuten würde und die Anwenderakzeptanz einfach schwinden würde. Da dies nicht gewollt ist möchte ich nun wioe gesagt eine automatische befüllung dieses Feldes erreichen.

Vorgestellt habe ich mir das dieses bei dem speichern des Datensatzes geschehen soll. Hierfür wie ich mich schlau gemacht habe soll die Option onSave herhalten. habe ich mich also rangemacht mir ein Script von der Microsoft Seite geholt und versucht entsprechend anzupassen.

var prue = crmForm.all.serviceid.DataValue;
var bezug = crmForm.all.regardingobjectid.DataValue;
var betreff = crmForm.all.subject.DataValue;
var komp = "";
var akomp = [prue,bezug];
var bkomp = [true,true];
for (var i = 0; i<akomp.length;i++)
{
if(akomp[i] == null)
{
akomp[i] = "";
bkomp[i] = false;
}
if(bkomp[i] == true)
{
betreff = betreff + akomp[i] + " ";
}
}



Klappt aber nicht.
Was mache ich nur falsch. Übrigens: Das feld zum befüllen ist das Feld Betreff.
Zuletzt geändert von Wolfshund am 22. März 2010 08:01, insgesamt 1-mal geändert.

Re: Felder automatisch befüllen lassen

18. März 2010 15:58

Hi Wolfshund!

Ist das, was Du da angegeben hast Dein vollständiges Script? Falls ja, dürfte das Problem darin bestehen, dass Du nur die Variable "betreff" mit dem gewünschten Wert befüllst. Du musst dann den Inhalt dieser Variable noch an das entsprechende Feld zurück geben:

Code:
crmForm.all.subject.DataValue = betreff;


Gruß,
Daniel

Re: Felder automatisch befüllen lassen

18. März 2010 16:14

Hollo und danke für die Antwort.

nochmals mein Skript:
var prue = crmForm.all.serviceid.DataValue;
var bezug = crmForm.all.regardingobjectid.DataValue;
betreff = crmForm.all.subject.DataValue;
var komp = "";
var akomp = [prue, bezug];
var bkomp = [true, true];
for (var i = 0; i<akomp.length;i++)
{
if(akomp[i] == null)
{
akomp[i] = "";
bkomp[i] = false;
}
if(bkomp[i] == true)
{
komp = komp + akomp[i] + " ";
}
}
crmForm.all.subject.DataValue = komp;


soweit so gut.
Nun bekomme ich in das Feld " [object Object] [object Object]" eingetragen.
Will ich aber nicht! :)
ich will das wie in der Anlage beschrieben haben.
Aus dem Bild kann man sicher entnehmen wie ich das gerne haben würde. Vielleicht fällt ja einenm noch was intelligentes ein.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Felder automatisch befüllen lassen

18. März 2010 16:36

Hallo Wolfram,

du musst dir auch den Inhalt der Lookups holen und nicht das Objekt. Wie du an die Inhalte eines Lookups herankommst, findest du hier.

Ich würde das Script so schreiben:
Code:
var komp = "";

if (crmForm.all.serviceid)
{
   if (crmForm.all.serviceid.DataValue != null)
   {
      var prue = crmForm.all.serviceid.DataValue[0].name;
      komp = prue;
   }
}
if (crmForm.all.regardingobjectid)
{
   if (crmForm.all.regardingobjectid.DataValue != null)
   {
      var bezug = crmForm.all.regardingobjectid.DataValue[0].name;
      if (komp != "")
      {
         komp = komp + " " + bezug;
      }
      else
      {
         komp = bezug;
      }
   }
}

crmForm.all.subject.DataValue = komp;

Re: Felder automatisch befüllen lassen

19. März 2010 08:11

Hallo Michael,

genau das ist das was ich wollte. Wie du sicherlich weisst ist aller Anfang schwer. Aber versuch macht ja bekanntlich klug.
Hab das getestet was du mir geschrieben hast und ich muß sagen klappt genau so wie ich mir das vorgestellt habe.
ich bin zu tiefem Dank verpflichtet. Die Anleitung lese ich mirgründlichst durch. man kann ja nie genug lernen und mit Sicherheit bekomme ich so ein Problem das eine oder andere mal wieder.

Gruß
Wolfram