Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Es gilt nun die Daten der beiden Felder aus dem DataContainer des Request zu sichern und aus dieser Sicherung die Daten in den DataContainer des Response zu schreiben. Die Sicherung erfolgt wie gewohnt über den Parameterbag DCMProperties des Positionsobjektes.

Sichern der Daten beim Request:

Warning

Nur für Partner des Developer Programms

Schreiben der Daten beim Response:

Warning

Nur für Partner des Developer Programms

Wenn Sie jetzt das obige Beispiel (Einkaufsbelegerfassung öffnen, Lieferanten auswählen, Position einfügen, Daten in Meldebestand und Bestellmenge eingeben) ausführen, dann sehen Sie, dass bei dem Hinzufügen der zweiten Position die eingegebenen Daten der ersten Position erhalten bleiben.

Soweit der generelle Unterschied beim Anhängen von eigenen Feldern an ein Daten-Edit-Element in Verbindung mit dem Verwendungszweck.

Zum Schluss wollen wir das Beispiel komplettieren. Die beiden Felder dürfen nicht editiert werden und die entsprechenden Daten müssen beim Einfügen einer Artikelposition aus dem Artikelstamm ermittelt werden.

In den Metadaten ist folgendes zu hinterlegen:

  • Aktivieren Sie die Eigenschaft „Schreibschutz?“ der beiden Felder in der Datenstruktur „strEKBelegPosition“.

Die Daten müssen für alle möglichen Formen der Erzeugung eines Positionsobjektes ermittelt werden. Dazu wird in der Regel die SetArtikel-Methode des Positionsobjektes verwendet. Daher verwenden wir die DCM EK/VKBelegPositionSetArtikel. Diese DCM wird nicht ausreichen. Es muss beim Laden, Beleg- und Vorgangsübernahme und Einfügen aus dem Clipboard ebenfalls die Daten gelesen und an das Positionsobjekt übergeben werden. Die entsprechenden DCMs stehen zur Verfügung und die Codierung ist identisch.

Beispielhafte Codierung für EKBelegPositionSetArtikel:

Warning

Nur für Partner des Developer Programms

Wenn Sie nun eine Position einfügen werden die Daten aus dem Artikelstamm ermittelt und angezeigt. Selbst wenn neue Positionen auf dem Client (Access, z.B. Auswahl über Variantenmatrix) erstellt werden. Das liegt natürlich an der Verwendung der DCM des Positionsobjektes, da auch auf dem Client neue Position über die SetArtikel-Methode erzeugt werden. Das die Daten dann auch im DataContainer vorhanden sind, liegt daran, dass auch auf dem Client die Funktionen aufgerufen werden, die letztendlich die oben aufgeführten DCMs zum Sichern und Schreiben der Daten aufrufen. In diesem Fall werden allerdings die clientseitige DLL (und damit auch die clientseitige DCM-Implementierung) aufgerufenEin komplettes Beispiel für das Hinzufügen eines neuen Feldes, sowie die dazugehörige Codierung finden Sie in Erweiterungen der Erfassung und/oder der Bearbeitung eines Beleges im Bereich "Zusätzliche Daten".