Codeblock Onlinehilfe

TeilRech()

TeilRech() – Teilrechnung aufrufen / drucken


Die Funktion ruft das Fenster zur Eingabe einer Teilrechnung auf oder gibt das Fenster als Objekt zurück.

Parameter

Beschreibung

nAnummer:N

Auftragsnummer

lModal:L

Modale Anzeige des Fensters( Default = True )

lVisible:L

Fenster sichtbar / unsichtbar( Default = True )


Rückgabewert


Keiner, für lModal = True, ansonsten das Fenster-Objekt (Klasse: TBePartInvWin)
Hinweis lModal = True ist nur zulässig, wenn lVisible ebenfalls True ist.

Eigenschaften des Rückgabe-Objekts 'TBePartInvWin':
Dab050 Memory-Tabelle, Kopie von Dab050
Dab055 Memory-Tabelle, Kopie von Dab055

Funktionen des Rückgabe-Objekts 'TBePartInvWin':
ExecPrint:L Aufruf der Druckausgabe.
Falls die Anzeige des Druckdialogs nicht erwünscht ist, muss die Druckerzuweisung für
"Teilrechnung" entsprechend angepasst werden ("kein Druckdialog").
Diese Anpassung könnte auch vorübergehend durch ein Codeblock-Programm geschehen.
ExecDelete:L Satz aus Memory-Tabelle Dab055 löschen

Zusätzliche Datenfelder in der Memory-Tabelle Dab055:
TLFDNR Zähler (lfd. Nummer)
TLF_NR entspricht LF_NUMMER aus Dab020
TLF_DAT entspricht DATUM aus Dab020
TLF_DATEX entspricht LF_DATUM aus Dab020
TLF_MENGE entspricht MENGE aus Dab020
TMENGE In dieses Feld muss die Teilrechnungs-Menge der Position eingetragen werden.
Wird versucht, eine größere als die aktuell berechenbare Menge einzutragen, so wird die
maximal berechenbare Menge gesetzt.

Beispiel


| oTRWin, oDab055, lDoPrint |

if !Empty(oTRWin := TeilRech(171282, false, false)) then
   startseq,
      lDoPrint := false,
      oDab055  := oTRWin.Dab055,
      DBGoTop(oDab055),
      while !EoF(oDab055) do
         if Trim(oDab055:ArtNr) <> '@@@@@' and DBEdit(oDab055) then
            oDab055:TMenge := oDab055:TLF_Menge,
            if DBPost(oDab055) then
               lDoPrint := true
            endif,
         endif,
         DBSkip(1, oDab055),
      end,
      if lDoPrint and oTRWin.ExecPrint then
         WriteLn('Ok')
      endif,
   always
      DestroyObject(oTRWin)
   stopseq,
else,
   WriteLn('Teilrechnung kann nicht ausgeführt werden !')
endif