Domino 9 und frühere Versionen > ND8: Entwicklung
Fields in Notes-Document "Person"...
DC_Mark:
Hallo zusammen,
ich habe ein Problem.
Ich nutze für einen Datenabgleich der Personendaten unseres hauseigenen CRM-Systems mit Lotus Notes die Domino-Schnittstellen.
Dabei wird ein Notes-Document der Form "Person" mit "GetForm" erzeugt, um die verfügbaren Felder über die Eigenschaft "Fields()" des Dokuments auszulesen. Diesen Felder kann denn jeweils ein Feld unseres CRM-Systems zugewiesen werden, damit dieses beim Export befüllt wird.
Das Problem ist nun, dass die Liste der verfügbaren Felder auf unserem System sich stark von den Feldern auf dem System unseres Kunden unterscheidet. Wir und unser Kunde benutzen die Lotus Notes Version 8.5.
1. wie definiert sich diese Feldliste genau? Wovon hängt es ab, ob ein Feld in dieser Liste auftaucht? Oder konkret: wie kommt es, dass sich die Feldliste von unserem Notes so stark von der Feldliste unseres Kunden abweicht?
2. in der Liste auf unserem System gibt es die Felder email_1 und email_5, wieso tauchen email_2, email_3 & email_4 dort nicht auf?
3. das Feld MailAddress wurde bisher immer mit der Email aus unseren System befüllt, Updates kommen dort aber nicht an. Anscheinend wird der Inhalt automatisch in die primäre Emailadresse (und bei Bearbeiten in die Message-Id) übertragen, wenn diese nicht befüllt ist. Wo kann ich denn diesen Wert in Notes bearbeiten?
Ich hoffe die Fragen sind nicht zu allgemein, unverständlich oder laienhaft gestellt.
Vielen Dank im voraus!
mfg - CM
DAU-in:
Hallo,
über 'Fields' erhältst du die Items, die im Dokument angelegt sind.
zu 1.) Wenn die Items nicht angelegt werden, können sie hinterher auch nicht bei einem Export ausgelesen werden. Euer Kunde belegt wahrscheinlich andere Items als ihr.
zu.2. ) wahrscheinlich werden diese Items nicht angelegt.
zu 3.) wie wird denn dieses Update durchgeführt? Wie werden die Werte übertragen, und wie werden die Items gemappt? Wie willst du den Wert denn bearbeiten, im Frontend oder im Backend?
Grüße
Dau-in
DC_Mark:
Hallo und schon mal Danke für die Antwort.
zu 1. und 2.: was genau bedeutet "nicht angelegt"? Laut Screenshot der Maske "Contact" hat der Kunde die gleichen Felder zu den Emailadressen wie sie auch bei uns enthalten sind (Geschäftlich, Privat, Geschäftlich 2, Privat 2, Assinstent).
Diese sind auch (teilweise) befüllt, trotzdem werden diese beim Auslesen der Fields() nicht gelistet.
Muss man noch irgendwo eine Einstellung machen, die diese Felder als Schnittstellenfelder definiert?
zu 3.: das Update geschieht (vereinfacht gesagt), indem ein Formular vom Typ "Person" erzeugt wird, dem wiederum die Eigenschaften laut Mappingtabelle (CRM <-> Lotus Notes) zugewiesen werden.
mfg - CM
DAU-in:
Ehrlich gerade verstehe ich nur noch Bahnhof ???
Dass in einer Maske Felder enthalten sind ist eine Sache, ob die in den DOKUMENTEN dann befüllt sind eine andere.
Ist dir der Unterschied zwischen einer Maske und einem PErsonendokument klar?
Was für ein CRM-System? eines auf Notes-Basis?
Was meinst du genau mit 'Auslesen der Fields()'?
Ist das eine Aktion oder was?
Und deine Antwort zu 3 verstehe ich auch nicht.
Was meinst du mit eine Formular vom Typ 'PErson' erzeugen? Ein Dokument? eine Maske?
was heisst : die Eigenschaften der Mapping-Tabelle zuweisen? Was genau passiert da, wie ist die aufgebaut und wie soll das Ganze passieren?
DC_Mark:
--- Zitat von: DAU-in am 23.02.11 - 22:15:19 ---Ehrlich gerade verstehe ich nur noch Bahnhof ???
Dass in einer Maske Felder enthalten sind ist eine Sache, ob die in den DOKUMENTEN dann befüllt sind eine andere.
Ist dir der Unterschied zwischen einer Maske und einem PErsonendokument klar?
--- Ende Zitat ---
Nein, anscheinend nicht, darum bin ich ja hier. Wo besteht der Unterschied?
--- Zitat von: DAU-in am 23.02.11 - 22:15:19 ---Was für ein CRM-System? eines auf Notes-Basis?
--- Ende Zitat ---
Nein ,ein eigenständiges System, in dem man Kundendaten nach Notes exportieren kann.
--- Zitat von: DAU-in am 23.02.11 - 22:15:19 ---Was meinst du genau mit 'Auslesen der Fields()'?
Ist das eine Aktion oder was?
--- Ende Zitat ---
so werden die Eigenschaften ausgelesen:
lPersonForm = NotesDB.GetForm("Person")
lFields() = lPersonForm.Fields
...und anschließend das Array durchlaufen und Feldwerte verarbeiten.
--- Zitat von: DAU-in am 23.02.11 - 22:15:19 ---Und deine Antwort zu 3 verstehe ich auch nicht.
Was meinst du mit eine Formular vom Typ 'PErson' erzeugen? Ein Dokument? eine Maske?
was heisst : die Eigenschaften der Mapping-Tabelle zuweisen? Was genau passiert da, wie ist die aufgebaut und wie soll das Ganze passieren?
--- Ende Zitat ---
Eigentlich ist das nicht so wichtig, aber trotzdem:
lPerson = NotesDB.CreateDocument
lPerson.Form = "Person"
lPerson.Type = "Person"
...dann Eigenschaften zuweisen.
ich hoffe, das war halbwegs verständlich.
Hülfe!
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln