Flowfield per Code?

5. Dezember 2008 10:24

Ich möchte in einer Form außer Daten der hinterlegten Table auch Daten aus anderen Tabellen anzeigen.

Beispiel: In 5050 Contacts soll die Debitoren-Nr aus 18 Customer angezeigt werden.

Der einfachste Weg wäre bestimmt ein Flowfield in 5050 einzufügen, aber eigentlich möchte ich das nicht. Wie kann ich dies per Code in der Form selbst lösen?

Volker

Re: Flowfield per Code?

5. Dezember 2008 10:50

1.) Kontakte sind nicht einfach nur Debitor-Kommunikationsdaten, sondern z.B. auch der Pizza-Service um die Ecke oder Wartungsdienst für den Kaffeeautomaten. Es kann also gut und gerne passieren, dass du keine Debitornummer zu einem Kontakt findest.
2.) Ein Kontakt kann mehreren Debitoren auf verschiedene Weise zugeordnet sein. Also kann es dir passieren, dass dein Pseudo-Flowfield ein halbes Duzent Debitornummern findet und sich im schlimmsten Fall nicht entscheiden kann.

Daher solltest du genau wissen, wie die Debitornummer gefunden werden soll und du solltest sicherstellen, dass es nur eine gibt. Daraus ergibt sich aus meiner Sicht:

3.) Du kannst das nur mit Code in der Form erreichen, doch dazu wirst du erstmal ein Konzept benötigen, um die vielen offenen Fragen zu Machbarkeit und Nutzen zu beantworten.

Re: Flowfield per Code?

5. Dezember 2008 11:02

Gehen wir mal davon aus, dass ich eine 1-1 Beziehung hinbekomme. Wie binde ich jetzt ein Feld in der Form an die Daten aus einer anderen Tabelle? Das kann doch nicht so schwer sein.

Bei 1-n würde ich dann auf eine Subform ausweichen.

Re: Flowfield per Code?

5. Dezember 2008 11:10

In der Einrichtung des Marketings kann man den Geschäftsbeziehungscode von Kontakt zu Debitor und Kreditor eintragen. Falls der bei dir benutzt wird, gibt es pro Kontakt höchstens einen zugeordneten Debitor, und den kannst du dir ja leicht aus der Tabelle "Contact Business Relation" ziehen.

Re: Flowfield per Code?

5. Dezember 2008 14:32

Hallo vsnase,

folgende Vorgehensweise:
  • Definiere dir eine Record-Variable mit deiner referenzierten Tabelle (z.B.: RefTab)
  • Im OnAftergetrecord machst du ein GET auf deine referenzierte Tabelle (z.B. RefTab.Get(Code);
  • Bau dir über die Toolbox ein Feld in dein Formular ein.
  • In den Properties setzt du Editable auf NO und Sourceexpression auf die Record- Variable, die du anzeigen möchtest (z.B. RefTab.Description)
  • Damit das Ganze auch noch schön aussieht, solltest du die Captions des Feldes auch noch setzten.

Dies soll einen groben Überblick über die nötigen Arbeiten geben. Je nach Form und gewünschter Funktion, muss man noch dafür sorgen das kein Wert angezeigt wird, wenn keine Referenz da ist.
In der Sourceexpression kannst du auch eine Funktion mit Parametern aufrufen, und das Ergebnis (Returnwert) dieser Funktion ausgeben.

Gruß,Fiddi