Erweiterungen vor dem Speichern eines Beleges

Mit Interaktion des Anwenders

Vor dem Speichern soll geprüft werden, ob Kostenstelle und Kostenträger des Beleges hinterlegt sind. Ist dies nicht der Fall, soll eine Messagebox mit entsprechenden Hinweis und der Möglichkeit das Speichern abzubrechen angezeigt werden.

Folgende Metadaten sind anzulegen:

  • Kontextmenü „VKBelegErfassung“ mit „Anhängen an Kontextmenü der Partner-Kennung“ = „Sage.Wawi“
    • Kontextmenüeintrag „BPKCheckKostenstellenKostentraeger”
      • „Position in Sortierung” = „0”
      • „Schaltflächenposition” = „0”
      • „Funktionsaufruf” = „DataServiceExecute.Sage.System”
      • „Parameter 1 Funktionsaufruf” = „BPKCheckKostenstellenKostentraeger”
      • „Parameter 2 Funktionsaufruf” = „Vollstaendig:Ersetzen”
      • „für Wawi?” = aktivieren
  • Meldung „CheckKostenstellenKostentraeger“
    • „Titel“ = „Prüfe Kostenstelle und Kostenträger“
    • „Meldungstext“ = „{0} Soll der Beleg trotzdem gespeichert werden?“
    • „Typ“ = „Konfirmation mit drei Schaltflächen“
    • „Standard-Schaltfläche“ = „2“
    • „mit Abbrechen-Schaltfläche?“ deaktivieren
    • „Schaltflächen-Text 1“ = „Ja“
    • „Schaltflächen-Text 2“ = „Nein“
  • Datenstruktur „strVKBeleg“ mit „Anhängen an Datenstruktur der Partner-Kennung“ = „Sage.Wawi“
    • Datenstrukturfeld „BPKAbfrageCancelSave“
      • „Datentyp“ = „Boolean“
      • „Schreibschutz?“ aktivieren
    • Datenstrukturfeld „ BPKMessagetext“
      • „Schreibschutz?“ aktivieren

Versteckte Daten (z.B. zur Steuerung), deren Wert in Geschäftsprozessen geändert werden, müssen schreibgeschützt sein. Ansonsten würde der Client die Änderung der Daten als „reale“ Änderung interpretieren und den Dialog (Data-Edit-Element) auf „Dirty“ setzen (die Speicher-Schaltfläche wird aktiv).

Für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.DSE.CheckKoStKoTr.rar/ ADID.DSE.CheckKoStKoTr81.rar

Nach Codierung der DCM-Aufrufe kann unter „Ereignisse“ jetzt die drei DCMs registriert werden (falls nicht bereits in OL.dcm registriert).

  • „Name des Ereignis“ = „VKBelegProxyBelegToContainer“
  • „Name des Ereignis“ = „VKBelegProxyContainerToBeleg“
  • „Name des Ereignis“ = „VKBelegProxyServiceCall“

„Name der Assembly“ und „Name der Klasse“ sind entsprechend Ihrer Assembly zu hinterlegen.

Hinterlegen Sie in der Datenstruktur „strVKBeleg“ im Ereignis „Vor Änderung“ diese Makros:

ZeileBefehlParameter 1Parameter 2
1WennIsRunningOnServer() = False
2AufrufenKontextMenuBPKCheckKostenstellenKostentraeger
3Wenn[BPKAbfrageCancelSave] = True
4Meldungsfeld100065830.ADID_DSE_CheckKoStKoTr.CheckKostenstellenKostentraeger[BPKMessagetext]
5Wenn[_DialogResult] = 2
6Abbruch

7EndeWenn

8EndeWenn

9EndeWenn

Ohne Interaktion des Anwenders

Validierung und gegebenenfalls Verwendung des Meldungsstacks

Vor dem Speichern soll geprüft werden, ob Kostenstelle und Kostenträger des Beleges hinterlegt sind. Ist dies nicht der Fall, soll ein Hinweis an den Meldungsstack übergeben und vom System angezeigt werden.

Der DCM-Aufruf kann unter „Ereignisse“ registriert werden (falls nicht bereits in OL.dcm registriert).

  • „Name des Ereignis“ = „VKBelegProxyBelegValidateSave“

„Name der Assembly“ und „Name der Klasse“ sind entsprechend Ihrer Assembly zu hinterlegen.

Für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.ValidateSave.CheckKoStKoTr.rar/ ADID.ValidateSave.CheckKoStKoTr81.rar

Geschäftsprozess und gegebenenfalls Verwendung des Meldungsstacks

Beim Speichern des Beleges wird ein Geschäftsprozess ausgeführt. Kommt es dabei zu einem Fehler, soll dieser Fehler an den Meldungsstack übergeben und vom System angezeigt werden.

Der DCM-Aufruf kann unter „Ereignisse“ registriert werden (falls nicht bereits in OL.dcm registriert).

  • „Name des Ereignis“ = „VKBelegBeforeSave“

„Name der Assembly“ und „Name der Klasse“ sind entsprechend Ihrer Assembly zu hinterlegen.

Für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.BelegBeforeSave.SendMessage.rar/ ADID.BelegBeforeSave.SendMessage81.rar