Skip to main content
Skip table of contents

BDEBuch()

BDEBuch() – BDE Buchungsfunktion

Hinweis
Diese Codeblockfunktion ist in Verbindung mit Fertigungs- und Kundenaufträgen ab Version 6.5.65 nicht mehr einsetzbar und gibt keine entsprechende Fehlermeldung aus.
Für die Funktion stehen im Codeblock entsprechend leistungsfähigere Funktionen / Klassen (TBeBDEBusinessController) zur Verfügung, mit denen die unter Version 6.5 neu eingeführten Funktionalitäten im Bereich der BDE / MDE genutzt werden können.
Bei Anwesenheitsbuchungen können keine expliziten Zeiten mehr für Buchungen angegeben werden, welche keiner vollständigen Nachbuchung entsprechen.
Die Parameter cStartZeit:C und cStopZeit:C werden also nur berücksichtigt, wenn alle Parameter zum Erzeugen einer vollständigen Buchung (dStartDatum:D, cStartZeit:C, dStopDatum:D, cStopZeit:C) gleichzeitig angegeben werden.
Bei Buchungen bei denen nur die Parameter für das Starten oder Stoppen angegeben werden, verhält sich die Buchung genau wie das BDE-Buchungs-Fenster.
Ein Abschließen einer Buchung zu einem gewünschten Zeitpunkt kann durch eine nachträgliche Veränderung der Buchung direkt im Anschluss erreicht werden.
Die Funktion bucht die BDE-Zeiten der Mitarbeiter. Das Datenmodul muss von der Klasse "TDM_TMEdit" sein. Die Funktion muss in jedem Fall in einer Transaktion ausgeführt werden.

  • Wird die Funktion ohne den Parameter cAPosNummer aufgerufen, wird eine Anwesenheits-Buchung zu Grunde gelegt.
  • Wird die Funktion ohne Stop-Datum/Zeit aufgerufen, wird eine Kommen- bzw. Auftragsstart-Buchung durchgeführt.
  • Wird die Funktion ohne Start-Datum/Zeit aufgerufen, wird eine Gehen- bzw. Auftragsende-Buchung durchgeführt.

    ParameterBeschreibung

    oDM_TMEdit:O

    Datamodul-Objekt (Klasse: TDM_TMEdit)

    nPersNr:N

    Mitarbeiter-Nummer

    dStartDatum:D

    Start-Datum; default = leer

    cStartZeit:C

    Start-Zeit (erforderlich falls Start-Datum übergeben); default = Leerstring

    dStopDatum:D

    Stop-Datum; default = leer

    cStopZeit:C

    Stop-Zeit (erforderlich falls Stop-Datum übergeben); default = Leerstring

    cAPosNummer:C

    Kundenauftragsnr. (DAB050:ANUMMER) oder Prod.Auftr.Pos.Nr. (DAB240:B_POS_LFD); default = Leerstring

    cTaetigkeit:C

    Art.Nr. der Tätigkeit (erforderlich falls Kundenauftragsnr. übergeben); default = Leerstring

    cTaetigTyp:C

    Typ der Tätigkeit, S = Stundenabrechnung, G = Budgetzeit (erforderlich falls Tätigkeit übergeben); default = Leerstring

    cKommentar:C

    Kommentar zur Buchung; default = Leerstring

    nFertigMenge:N

    Gefertigte Stückzahl-Menge

    lQuiet:L

    Ressourcen-Auswahl-Dialog nicht anzeigen (default = False) / Exception auslösen

Rückgabewert

Keiner - Falls eine Buchung nicht durchgeführt werden kann, wird eine Exception ausgelöst

Beispiel

CODE
//##############################################################################
//##############################################################################
// Beschreibung: Dieses Programm legt testweise mehrere BDE-Buchungen an.
//##############################################################################
//##############################################################################

| m_oDM, m_PostingPersNr |

//##############################################################################
//##############################################################################
// Konstanten
//##############################################################################
//##############################################################################

m_PostingPersNr := 1, // Personalnummer der Person für die gebucht werden soll

//##############################################################################
//##############################################################################
// Funktionen
//##############################################################################
//##############################################################################

//******************************************************************************
// Diese Funktion legt ein Paar Beispielbuchungen auf Basis der angegebenen
// Testdaten an
//******************************************************************************
function PostingExamples(oDM)
| dADSNow, dStartDate, cStartTime, dEndDate, cEndTime |
   // Beispiel-Buchungszeitpunkte berechnen
   dADSNow    := GetADSServerTime(),                        // ACHTUNG: Für BDE-Buchungen immer die ADS-Zeit verwenden!
   dStartDate := STOD(FormatDateTime('YYYYMMDD', dADSNow)), // Start-Datum
   dEndDate   := STOD(FormatDateTime('YYYYMMDD', dADSNow)), // End-Datum

   // Beispiel-Buchungszeiten berechnen
   cStartTime := FormatDateTime('HH:NN:SS', dADSNow - 3/24), // Erste Start-Zeit = vor drei Stunden für die Nachbuchung
   cEndTime   := FormatDateTime('HH:NN:SS', dADSNow - 2/24), // Erste End-Zeit   = vor zwei Stunden für die Nachbuchung

   // Anwesenheitszeit nachbuchen
   BDEBuch(m_oDM, m_PostingPersNr, dStartDate, cStartTime, dEndDate, cEndTime), // Entspricht einer Nachbuchung im BDE-Nachbuchen-Fenster

   // Kommen buchen
   BDEBuch(m_oDM, m_PostingPersNr, STOD('20201231'), '00:00'), // Entspricht einer Kommen-Buchung im BDE-Buchen-Fenster, eingegebene Anfangs- Datum und Zeit werden ignoriert, aber dürfen nicht leer sein

   // Gehen buchen
   BDEBuch(m_oDM, m_PostingPersNr, 0, '', STOD('20201231'), '00:00'), // Entspricht einer Gehen-Buchung im BDE-Buchen-Fenster, eingegebene Schluss- Datum und Zeit werden ignoriert, aber dürfen nicht leer sein
end,

//##############################################################################
//##############################################################################
// Hauptprogramm
//##############################################################################
//##############################################################################
m_oDM := CreateObject('TDM_TMEdit', 'BDEBUCHDM'),
startseq
   PostingExamples(m_oDM),
always
   DestroyObject(m_oDM),
stopseq,

Weitere Verknüpfungen

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.