Auswahl Firma oder Kontakt

5. Dezember 2010 20:41

Hallo,
ich habe folgende Aufgabenstellung erhalten:
- Entität Postaus- und eingang anlegen
- diverse Pflichtfelder erstellen

Es hört sich leicht an, war es bis zu dem Punkt, das es immer wieder Postsachen gibt, die nicht an eine Firma sondern an einen Kontakt gehen. Fimra konnte ich auswählen, Kontakt (in einem sepraten Feld) auch,
nur wie bekomme ich in ein Auswahlfeld Forma oder Kontakt hin?
Bei Anfragen funktioniert es, hier scheint es ein Standardfeld aus dem CRM zu sein, welches ich in meine neue Entität nicht einbinden kann.
Ich wäre dankbar wenn mir hier jemand helfen könnte.

Einen schönen 2. Advent.
Torsten

Re: Auswahl Firma oder Kontakt

6. Dezember 2010 09:19

Hallo Torsten,

ein Customerfeld (Firma oder Kontakt) kannst du selbst nicht im CRM anlegen. Diese Funktion ist zwar in einigen Formularen fest eingebaut, du kannst ihn aber nicht selbst hinzufügen.

Re: Auswahl Firma oder Kontakt

4. Februar 2011 09:54

Hallo,
ich möchte mich zu diesem Thema auch noch einmal mit einer Folgefrage melden...

Bei dem hier genannten Feld geht es ja, denke ich, um "CustomerId" ?

Ich habe hier gerade folgende Anforderung und breche mir seit 2 Tagen die Finger - leider bisher ohne Ergebnis:

Erstelle ich unter einer Lieferung ein Angebot, steht defaultmäßig im "CustomerId" der Name der übergeordneten Firma. Wir möchten aber gerne dort den entsprechenden Kontakt eintragen. Meine Anwender wünschen sich jetzt an dieser Stelle einen "filtered Lookup", so dass beim Klick auf die Lupe nur die Kontakte der übergeordneten Firma angezeigt werden, und nicht wie jetzt die gesamte Liste aller Kontakte.

Einen "normalen" filtered Lookup, zB "primary Contact", wo in einem Feld die Firma und in einem zweiten der Komtakt steht, kriege ich hin... aber hier drehe ich mich irgendwie im Kreis. :?:

Wäre super, wenn ich hierzu ein wenig Input bekommen könnte

Viele Grüße
Rainer

Re: Auswahl Firma oder Kontakt

4. Februar 2011 11:30

Hallo Herr Benkelberg,

ich habe zwei funktionierende Codeschnipsel, die in Kombination das Problem vielleicht lösen können. (Ich habe das aber nicht getestet, daher ohne Gewähr).
Ich würde als Lösungsansatz beim OnChange des Angebotslookups den Firmenname in eine Variable merken. Notfalls sogar ein Hilfsfeld für den Firmenname ergänzen. Dann würde ich Logik aus dem primary Contact probieren.

Aus dem Anzeigefeld Firmenname entnehmen ich den "Suchbegriff" und setze diesen Text als Filter in das Feld CustomerId
var name = crmForm.all.DER_FIRMENNAME.DataValue;
crmForm.all.customerid.additionalparams = 'search=' + encodeURIComponent(name);
(Bei meiner Datenquelle handelt es sich um ein Varchar-Feld, bei einem Lookup muss die 1. Zeile angepasst werden. Vorbesetzung macht nur Sinn bei Feldern, die in der Sucheinstellung des Lookup-Enität als Suchkriterium hinterlegt sind.)

Der zweite Schnipsel dient dazu, beim Lookup für die CustomerID auf die Entität Kontakte einzugrenzen.
crmForm.all.customerid.setAttribute("lookuptypes", "2");
( "2" ist der ObjectCode für Contact, "1" wäre ObjectCode für Account. Die restlichen Objectcodes findet man über das SDK)

Durch eine Kombination der beiden Schnipsel erwarte ich, dass beim Klick auf die Lupe die Auswahl für Personen eingegrenzt sind, die einer Firmen mit diesem Name zugeordnet sind. Eine Eingrenzung über die GUID ist sicher exakter, aber auch aufwändiger.

Re: Auswahl Firma oder Kontakt

7. Februar 2011 15:39

Hallo Herr Müller,
vielen Dank für die ausführliche Antwort...
Ich habe ihre Info teilweise verarbeitet und folgende (endlich funktionierende :lol: ) Lösung ist dabei herausgekommen:

/*---------------Script Start ----------------------------------------------*/
/* Angebote - gefilterte Sicht auf Kontakte*/

setFilteredLookup__contact = function() {

/* Filtered Lookup geht nur, wenn das Feld CustomerId einen Wert enthält */
if (crmForm.all.customerid.DataValue != null) {
var firmenname = crmForm.all.customerid.DataValue[0].name;
/*suchen nach "Kontakten"*/
crmForm.all.customerid.setAttribute("lookuptypes", "2");
crmForm.all.customerid.additionalparams = 'search=' + encodeURIComponent(firmenname);
}
}

/*Und hier wird die Funktion aufgerufen*/
setFilteredLookup__contact();
/*---------------Script Ende ----------------------------------------------*/


Ist ja jetzt letztendlich nur noch ein Dreizeiler.... aber es geht

Vielen Dank und Grüße
Rainer