*Saldenliste_Sachkonten
#main
*-------------------------------------------------------------------------
* Variablen:
* Zeile     aktuelle Zeilenummer
* ZlMax     Zeile ab der der Fussbereich beginnt
* Seite     Seitennummer beginnend mit 1
* RandX     linker Rand in cm
* RandY     oberer Rand in cm
* SizeX     Druckbreite ab Rand links
* recMAIN   Datensatz fuer Main-Schleifen
*--------------------------------------------------------------------------
VAR RepTitel(C,50,0)
VAR Zeile(s,2,0)
VAR ZlMax(s,2,0)
VAR Seite(s,2,0)
VAR RandX(d,8,2)
VAR RandY(d,8,2)
VAR SizeX(d,8,2)
VAR Heute(D,10,0)
VAR cyZeile(d,8,3)
VAR mLPI(s,2,0)
VAR mSumme1(N,14,2)
VAR mSumme2(N,14,2)
VAR mSumme3(N,14,2)
VAR mSumme4(N,14,2)
VAR mSumme5(N,14,2)
VAR mSumme6(N,14,2)
VAR mTop(L,1,0)
VAR cHeader(C,50,0)
VAR mDatumA(u,8,0)
VAR mDatumE(u,8,0)
VAR mGuvListed(L,1,0)
VAR mDebListed(L,1,0)
VAR mKreListed(L,1,0)

* Datensatz EIGENE_ANSCHRIFTEN
REC recADR(EIGENE_ANSCHRIFTEN,0,2)01

*-------------------------------------------------------------------------
* Prüfen der Übergabe von Filtervariablen

IFNOT ISVAR(DebKonto)
  VAR DebKonto(u,8,0)

IFNOT ISVAR(KreKonto)
  VAR KreKonto(u,8,0)

IFNOT ISVAR(GuVKonto)
  VAR GuVKonto(u,8,0)

IFNOT ISVAR(bGuvOnly)
  VAR bGuvOnly(L,1,0)

SUB #subAnfEnde

* Code für den
* Berichtsablauf ein.

SUB #subPaperDefs
REC recMAIN(KONTENPLAN,0,1)S

*-----------------------------------------------------------------------------
* Vorbereiten der Ausgabe 
* Initialisierung der Drucksteuerdaten
OUT INITPAGESIZE
OUT STARTJOB $[RepTitel]
OUT TRANSPARENT
OUT STARTPAGE
OUT DEVICE $[mDevice]
OUT CALCBORDER
OUT XOFFSET 0
OUT YOFFSET 0
VAR mFillState(L,1,0)
mFillState=1
Zeile=0

OUT ##KopfBericht
OUT ##KopfDetail
IF BOOL($[bGuvOnly])
  GOTO :GuvOnly

SEEK recMAIN()
SUB #subAktiv
SUB #subKatSumm

SEEK recMAIN()
SUB #subPassiv
SUB #subKatSumm

SEEK recMAIN()
SUB #subVortrag
SUB #subKatSumm

IFNOT BOOL($[mDebListed])
  SUB #subDeb

IFNOT BOOL($[mKreListed])
  SUB #subKre

:GuvOnly
IFNOT BOOL($[mGuvListed])
  SUB #subGUV

* ----------------------------------------------------
* Druckdatei abschliessen
Zeile=$[ZlMax]
OUT ##FussBericht
*OUT ##outPost
OUT ENDPAGE
OUT ENDJOB


#end

##KopfBericht
CY=3
L=0;0;50;1;Arial,8,N;$[recADR.NAME1] $[recADR.NAME2]
L=0;1;50;1;Arial,8,N;$[recADR.STRASSE]
L=0,0;2,0;50,0;1,0;Arial,8,N;$[recADR.PLZORT]
R=50;0;50;1;Arial,8,F;$[RepTitel] von $[mDatumA] bis $[mDatumE]
R=70;1;30;1;Arial,8,N;Druckdatum $[Heute]
R=70;2;30;1;Arial,8,N;Seite -$[Seite]-

#end

##KopfSeite
CY=3
L=0;0;50;1;Arial,8,N;$[recADR.NAME1] $[recADR.NAME2]
L=0;1;50;1;Arial,8,N;$[recADR.STRASSE]
L=0,0;2,0;50,0;1,0;Arial,8,N;$[recADR.PLZORT]
R=50;0;50;1;Arial,8,F;$[RepTitel] von $[mDatumA] bis $[mDatumE]
R=70;1;30;1;Arial,8,N;Druckdatum $[Heute]
R=70;2;30;1;Arial,8,N;Seite -$[Seite]-

#end

##KopfDetail
CY=3
L=0;0;100;1; ;\-
L=0,0;1,0;20,0;1,0;Arial, 8,F;Konto
L=56,0;1,0; 8,0;1,0;Arial,8,F;eröffnet am
R=64,0;1,0;12,0;1,0;Arial,8,F;alter Saldo
R=76,0;1,0;12,0;1,0;Arial,8,F;Bewegung
R=88,0;1,0;12,0;1,0;Arial,8,F;neuer Saldo
L=0;2;100;1; ;\-

#end

#subAnfEnde
* Unterprgramm von OnPreReport
VAR mJ(C,4,0)
VAR mM(C,6,0)
VAR mT(C,8,0)

REC recA(OPTIONEN,0,5) 6220
mJ=$[recA.OptDataC]
mM=$[recA.OptDataC]
mDatumA=$[mM>2]/$[mJ>2]

REC recE(OPTIONEN,0,5) 6221
mJ=$[recE.OptDataC]
mM=$[recE.OptDataC]
mDatumE=$[mM>2]/$[mJ>2]

RETURN

#end

##outUebertr
CY=1
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mSumme1!S]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mSumme2!S]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mSumme3!S]
L=7,0;0,0;28,0;1,0;Arial,8,F;Übertrag

#end

#Kopf
* Dieser Code wird immer beim Seitenwchsel
* aufgerufen, um den Kopf der nächsten Seite
* auszugeben
* Der Kopf für die erste Seite steht jedoch
* im Codestück OnPreReport

Zeile=0
OUT ##KopfSeite
OUT ##KopfDetail
OUT ##outUebertr
mFillState=1
mTop=1

#end

#Fuss
* Dieser Code wird immer beim Seitenwchsel
* aufgerufen, um den Fuss der aktuellen Seite
* auszugeben
* Der Fuss für die letzte Seite steht jedoch
* im Codestück OnPostReport

Zeile=$[ZlMax]
OUT ##FussSeite
*OUT ##outPost
OUT ENDPAGE
Seite=$[Seite]+1
Zeile=0
OUT STARTPAGE
OUT DEVICE $[mDevice]
OUT CALCBORDER
OUT XOFFSET 0
OUT YOFFSET 0

#end

#CheckPage
* Fussbereich ausgeben, wenn letzte Zeile erreicht
IF BOOL($[Zeile] >= $[ZlMax])
   SUB #Fuss
* Kopfbereich ausgeben, wenn erste Zeile erreicht
IF BOOL($[Zeile] = 0)
   SUB #Kopf

#end

#NeueSeite
* nächste Seite anfangen
SUB #Fuss
SUB #Kopf

#end

##outPost
CY=2
L= 0;0;15;1;Arial,8,N;$[recADR.BANK1_NAME]  
L=15;0;35;1;Arial,8,N;(BLZ: $[recADR.BANK1_BLZ])  Kto-Nr. $[recADR.BANK1_KONT]
L=0,0;1,0;15,0;1,0;Arial,8,N;$[recADR.BANK2_NAME]
L=15;1;35;1;Arial,8,N;(BLZ: $[recADR.BANK2_BLZ])  Kto-Nr. $[recADR.BANK2_KONT]
L=50;0;15;1;Arial,8,N;Telefon
L=50;1;15;1;Arial,8,N;$[recADR.TELEFON]
L=65;0;15;1;Arial,8,N;Telefax
L=65,0;1,0;15,0;1,0;Arial,8,N;$[recADR.FAXNR]
R=80;0;20;1;Arial,8,N;E-Mail
R=80;1;20;1;Arial,8,N;$[recADR.NAME3]

#end

#subPaperDefs
* Definition des Basislayouts und Papiergrößen

* Zeilen per Inc
mLPI=8

IF BOOL($[bGuvOnly])
  RepTitel=Gewinn und Verlust
ELSE
  RepTitel=Saldenbilanz

Heute=H
RandX=      1,80
RandY=      0,80
SizeX=      17,4
Seite=      1
Zeile=      0
cyZeile=    2.54/$[mLPI]
ZlMax=     83

RETURN

#end

#subFILL01
* Unterprogramm von ReportMain

VAR mFillStart(d,8,2)
mFillStart= $[RandY] + ($[cyZeile] * $[Zeile])

IF BOOL(($[mFillState]) = (1))
  GOTO :DoFill
mFillState=1
RETURN

:DoFill
OUT RGBFILL $[RandX];$[mFillStart];$[SizeX];$[cyZeile];15263976
mFillState=0
RETURN

#end

#loopAktiv
* Schleife Aktiva
IF BOOL($[recMAIN.Passiv])
  RETURN
IFNOT CMP(recMAIN.BilZeile,=)BILA
  RETURN
IF CMP(recMAIN.Konto,>)8999
  BREAK recMAIN
IF EOF(recMAIN)
  RETURN

SUB #subSachK
RETURN


#end

#subAktiv
* Unterprgramm von ReportMain

cHeader=Aktiva
mSumme4=0
mSumme5=0
mSumme6=0
OUT ##outHeader
LOOP recMAIN(#loopAktiv)

#end

##outSach
CY=1
R=0,0;0,0;6,0;1,0;Arial, 8,N;$[recMAIN.Konto]
L=7,0;0,0;48,0;1,0;Arial, 8,N;$[recMAIN.Name]
L=56,0;0,0; 8,0;1,0;Arial,8,N;$[recFirst.Tag].$[recFirst.Monat].$[recFirst.Jahr>2]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mS1!S]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mS2!s]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mS3!S]

#end

##outHeader
CY=1
L=7,0;0,0;48,0;1,0;Arial, 8,F;$[cHeader]

#end

#subHeadLn
* Unterprgramm von ReportMain

IF BOOL($[Zeile] >= ($[ZlMax] - 3))
   SUB #Fuss
* Kopfbereich ausgeben, wenn erste Zeile erreicht
IF BOOL($[Zeile] = 0)
   SUB #Kopf
ELSE
   Zeile=$[Zeile] + 1

OUT ##outHeader
RETURN

#end

#loopPassiv
* Schleife Passiva
IFNOT BOOL($[recMAIN.Passiv])
  RETURN
IFNOT CMP(recMAIN.BilZeile,=)BILA
  RETURN
IF CMP(recMAIN.Konto,>)8999
  BREAK recMAIN
IF EOF(recMAIN)
  RETURN

SUB #subSachK
RETURN

#end

#subPassiv
* Unterprgramm von ReportMain
cHeader=Passiva ohne GuV und Vorträge
mSumme4=0
mSumme5=0
mSumme6=0
SUB #subHeadLn
LOOP recMAIN(#loopPassiv)
RETURN

#end

#loopVortrag
* Schleife Vortraege
IFNOT BOOL($[recMAIN.Passiv])
  RETURN
IFNOT CMP(recMAIN.BilZeile,=)BILA
  RETURN
IF CMP(recMAIN.Konto,<)9000
  RETURN

SUB #subSachK
RETURN

#end

#subVortrag
* Unterprgramm von ReportMain
cHeader=Vorträge und statistische Konten
mSumme4=0
mSumme5=0
mSumme6=0
SUB #subHeadLn
LOOP recMAIN(#loopVortrag)
RETURN

#end

##outKatSumm
CY=1
L=7,0;0,0;81,0;1,0;Arial, 8,F;Summe $[cHeader]
R=64,0;0,0;12,0;1,0;Arial,8,F;$[mSumme4!S]
R=76,0;0,0;12,0;1,0;Arial,8,F;$[mSumme5!S]
R=88,0;0,0;12,0;1,0;Arial,8,F;$[mSumme6!S]

#end

#subKatSumm
* Unterprgramm von ReportMain
SUB #CheckPage
OUT ##outKatSumm
RETURN

#end

##outGUVKto
CY=1
R=0,0;0,0;6,0;1,0;Arial, 8,N;$[recUKTO.Konto]
L=7,0;0,0;48,0;1,0;Arial, 8,N;$[recUKTO.Name]
L=56,0;0,0; 8,0;1,0;Arial,8,N;$[recUFirst.Tag].$[recUFirst.Monat].$[recUFirst.Jahr>2]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mU1!s]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mU2!s]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mU3!S]

#end

##outGUVSumm
* Ausgabe für ReportMain/subSachK/subGUV
CY=1
L=7,0;0,0;81,0;1,0;Arial, 8,F;Summe $[cHeader]
R=64,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG1!S]
R=76,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG2!S]
R=88,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG3!S]

#end

#loopGewinn
* Schleife Gewinn
IFNOT BOOL($[recUKTO.Passiv])
  RETURN
IF CMP(recUKTO.BilZeile,=)BILA
  RETURN

SUB #subGuvKto
RETURN

#end

#loopVerlust
* Schleife Gewinn
IF BOOL($[recUKTO.Passiv])
  RETURN
IF CMP(recUKTO.BilZeile,=)BILA
  RETURN

SUB #subGuvKto
RETURN

#end

#subGuvKto
VAR mU1(N,14,2)
VAR mU2(N,14,2)
VAR mU3(N,14,2)

REC recUFirst(BUCHUNGSZEILEN,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
REC recSaldo(PERIODENSALDI,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
IF EOF(recUFirst)
  RETURN
IF BOOL(($[recSaldo.SaldoAlt] = 0) & ($[recSaldo.SaldoNeu] = 0))
  RETURN

mU1=0.00 - $[recSaldo.SaldoAlt]
mU2=$[recSaldo.SaldoAlt] - $[recSaldo.SaldoNeu]
mU3=0.00 - $[recSaldo.SaldoNeu]
SUB #CheckPage
OUT ##outGUVKto
mSumme1=$[mSumme1] + $[mU1]
mSumme2=$[mSumme2] + $[mU2]
mSumme3=$[mSumme3] + $[mU3]
mSumme4=$[mSumme4] + $[mU1]
mSumme5=$[mSumme5] + $[mU2]
mSumme6=$[mSumme6] + $[mU3]
mSummeG1=$[mSummeG1] + $[mU1]
mSummeG2=$[mSummeG2] + $[mU2]
mSummeG3=$[mSummeG3] + $[mU3]
mSummeG4=$[mSummeG4] + $[mU1]
mSummeG5=$[mSummeG5] + $[mU2]
mSummeG6=$[mSummeG6] + $[mU3]

RETURN

#end

#subGUV
* Unterprogramm von ReportMain/subSachK
VAR mSummeG1(N,14,2)
VAR mSummeG2(N,14,2)
VAR mSummeG3(N,14,2)
VAR mSummeG4(N,14,2)
VAR mSummeG5(N,14,2)
VAR mSummeG6(N,14,2)
VAR cHeadSave(C,50,0)
REC recUKTO(KONTENPLAN,0,1)S

mGuvListed=1

cHeadSave=$[cHeader]

* hier Schleife Gewinn
cHeader=Erträge
mSummeG1=0
mSummeG2=0
mSummeG3=0
SUB #subHeadLn
SEEK recUKTO()
LOOP recUKTO(#loopGewinn)
SUB #CheckPage
OUT ##outGUVSumm

* hier Schleife Verlust
cHeader=Aufwendungen
mSummeG1=0
mSummeG2=0
mSummeG3=0
SUB #subHeadLn
SEEK recUKTO()
LOOP recUKTO(#loopVerlust)
IF BOOL($[Zeile] >= ($[ZlMax]-1))
   SUB #Fuss
* Kopfbereich ausgeben, wenn erste Zeile erreicht
IF BOOL($[Zeile] = 0)
   SUB #Kopf
OUT ##outGUVSumm

cHeader=Gewinn / Verlust
mSummeG1=$[mSummeG4]
mSummeG2=$[mSummeG5]
mSummeG3=$[mSummeG6]
OUT ##outGUVSumm
Zeile=$[Zeile] + 1

cHeader=$[cHeadSave]
RETURN




#end

##outDebKto
CY=1
R=0,0;0,0;6,0;1,0;Arial, 8,N;$[recUKTO.Konto]
L=7,0;0,0;48,0;1,0;Arial, 8,N;$[recUKTO.Name]
L=56,0;0,0; 8,0;1,0;Arial,8,N;$[recUFirst.Tag].$[recUFirst.Monat].$[recUFirst.Jahr>2]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mU1!s]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mU2!s]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mU3!S]

#end

#loopDeb
* Debitorenschleife
VAR mU1(N,14,2)
VAR mU2(N,14,2)
VAR mU3(N,14,2)

REC recUFirst(BUCHUNGSZEILEN,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
REC recSaldo(PERIODENSALDI,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
IF EOF(recUFirst)
  RETURN
IF BOOL(($[recSaldo.SaldoAlt] = 0) & ($[recSaldo.SaldoNeu] = 0))
  RETURN

mU1=0.00 - $[recSaldo.SaldoAlt]
mU2=$[recSaldo.SaldoAlt] - $[recSaldo.SaldoNeu]
mU3=0.00 - $[recSaldo.SaldoNeu]

IFNOT BOOL($[PersDet])
  GOTO :Still
SUB #CheckPage
OUT ##outDebKto
:Still
mSumme1=$[mSumme1] + $[mU1]
mSumme2=$[mSumme2] + $[mU2]
mSumme3=$[mSumme3] + $[mU3]
mSumme4=$[mSumme4] + $[mU1]
mSumme5=$[mSumme5] + $[mU2]
mSumme6=$[mSumme6] + $[mU3]
mSummeG1=$[mSummeG1] + $[mU1]
mSummeG2=$[mSummeG2] + $[mU2]
mSummeG3=$[mSummeG3] + $[mU3]

RETURN

#end

##outDebSumm
* Ausgabe für ReportMain/subSachK/subDeb
CY=1
L=7,0;0,0;81,0;1,0;Arial, 8,F;Summe $[cHeader]
R=64,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG1!S]
R=76,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG2!S]
R=88,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG3!S]

#end

#subDeb
* Unterprogramm von ReportMain/subSachK
VAR mSummeG1(N,14,2)
VAR mSummeG2(N,14,2)
VAR mSummeG3(N,14,2)
VAR cHeadSave(C,50,0)
REC recUKTO(KONTENPLAN,5,2)P 

mDebListed=1

cHeadSave=$[cHeader]

* hier Schleife Debitoren
cHeader=Debitoren
IF BOOL($[PersDet])
  SUB #subHeadLn
ELSE
  SUB #CheckPage
LOOP recUKTO(#loopDeb)
SUB #CheckPage
OUT ##outDebSumm
IF BOOL($[PersDet])
  Zeile=$[Zeile] + 1

cHeader=$[cHeadSave]
RETURN

#end

##outKreSumm
* Ausgabe für ReportMain/subSachK/subKre
CY=1
L=7,0;0,0;81,0;1,0;Arial, 8,F;Summe $[cHeader]
R=64,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG1!S]
R=76,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG2!S]
R=88,0;0,0;12,0;1,0;Arial,8,F;$[mSummeG3!S]

#end

##outKreKto
CY=1
R=0,0;0,0;6,0;1,0;Arial, 8,N;$[recUKTO.Konto]
L=7,0;0,0;48,0;1,0;Arial, 8,N;$[recUKTO.Name]
L=56,0;0,0; 8,0;1,0;Arial,8,N;$[recUFirst.Tag].$[recUFirst.Monat].$[recUFirst.Jahr>2]
R=64,0;0,0;12,0;1,0;Arial,8,N;$[mU1!s]
R=76,0;0,0;12,0;1,0;Arial,8,N;$[mU2!s]
R=88,0;0,0;12,0;1,0;Arial,8,N;$[mU3!S]

#end

#loopKre
* Kreditorenschleife
VAR mU1(N,14,2)
VAR mU2(N,14,2)
VAR mU3(N,14,2)

REC recUFirst(BUCHUNGSZEILEN,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
REC recSaldo(PERIODENSALDI,0,9)$[recUKTO.Typ<1]$[recUKTO.Konto<8]
IF EOF(recUFirst)
  RETURN
IF BOOL(($[recSaldo.SaldoAlt] = 0) & ($[recSaldo.SaldoNeu] = 0))
  RETURN

mU1=0.00 - $[recSaldo.SaldoAlt]
mU2=$[recSaldo.SaldoAlt] - $[recSaldo.SaldoNeu]
mU3=0.00 - $[recSaldo.SaldoNeu]

IFNOT BOOL($[PersDet])
  GOTO :Still
SUB #CheckPage
OUT ##outKreKto
:Still
mSumme1=$[mSumme1] + $[mU1]
mSumme2=$[mSumme2] + $[mU2]
mSumme3=$[mSumme3] + $[mU3]
mSumme4=$[mSumme4] + $[mU1]
mSumme5=$[mSumme5] + $[mU2]
mSumme6=$[mSumme6] + $[mU3]
mSummeG1=$[mSummeG1] + $[mU1]
mSummeG2=$[mSummeG2] + $[mU2]
mSummeG3=$[mSummeG3] + $[mU3]

RETURN

#end

#subKre
* Unterprogramm von ReportMain/subSachK
VAR mSummeG1(N,14,2)
VAR mSummeG2(N,14,2)
VAR mSummeG3(N,14,2)
VAR cHeadSave(C,50,0)
REC recUKTO(KONTENPLAN,5,2)PL

mKreListed=1

cHeadSave=$[cHeader]

* hier Schleife Debitoren
cHeader=Kreditoren
IF BOOL($[PersDet])
  SUB #subHeadLn
ELSE
  SUB #CheckPage
LOOP recUKTO(#loopKre)
SUB #CheckPage
OUT ##outKreSumm
IF BOOL($[PersDet])
  Zeile=$[Zeile] + 1

cHeader=$[cHeadSave]
RETURN

#end

##outSammel
CY=1
R=0,0;0,0;6,0;1,0;Arial, 8,N;$[recMAIN.Konto]
L=7,0;0,0;48,0;1,0;Arial, 8,N;$[recMAIN.Name]

#end

#subSachK
VAR mS1(N,14,2)
VAR mS2(N,14,2)
VAR mS3(N,14,2)

* ------------------
* normales Sachkonto
* ------------------
REC recFirst(BUCHUNGSZEILEN,0,9)$[recMAIN.Typ<1]$[recMAIN.Konto<8]
REC recSaldo(PERIODENSALDI,0,9)$[recMAIN.Typ<1]$[recMAIN.Konto<8]
IF CMP(recMAIN.Konto,=)$[GuVKonto]
  GOTO :SammelK
IF CMP(recMAIN.Konto,=)$[DebKonto]
  GOTO :SammelK
IF CMP(recMAIN.Konto,=)$[KreKonto]
  GOTO :SammelK
IF EOF(recFirst)
  RETURN
IF BOOL(($[recSaldo.SaldoAlt] = 0) & ($[recSaldo.SaldoNeu] = 0))
  RETURN

mS1=0.00 - $[recSaldo.SaldoAlt]
mS2=$[recSaldo.SaldoAlt] - $[recSaldo.SaldoNeu]
mS3=0.00 - $[recSaldo.SaldoNeu]
SUB #CheckPage
OUT ##outSach
mSumme1=$[mSumme1] + $[mS1]
mSumme2=$[mSumme2] + $[mS2]
mSumme3=$[mSumme3] + $[mS3]
mSumme4=$[mSumme4] + $[mS1]
mSumme5=$[mSumme5] + $[mS2]
mSumme6=$[mSumme6] + $[mS3]
RETURN

* ------------------
* Sammelkonten
* ------------------
:SammelK

mS1=0.00 - $[recSaldo.SaldoAlt]
mS2=$[recSaldo.SaldoAlt] - $[recSaldo.SaldoNeu]
mS3=0.00 - $[recSaldo.SaldoNeu]
SUB #CheckPage
* eigener Saldo ?
IF BOOL(($[recSaldo.SaldoAlt] <> 0) | ($[recSaldo.SaldoNeu] <> 0))
   OUT ##outSach
ELSE
   OUT ##outSammel

mSumme1=$[mSumme1] + $[mS1]
mSumme2=$[mSumme2] + $[mS2]
mSumme3=$[mSumme3] + $[mS3]
mSumme4=$[mSumme4] + $[mS1]
mSumme5=$[mSumme5] + $[mS2]
mSumme6=$[mSumme6] + $[mS3]

IF CMP(recMAIN.Konto,=)$[GuVKonto]
  GOTO :DoGuV
IF CMP(recMAIN.Konto,=)$[DebKonto]
  GOTO :DoDeb
IF CMP(recMAIN.Konto,=)$[KreKonto]
  GOTO :DoKre

RETURN


* ---------------------------
* Gewinn und Verlust einfügen
* ---------------------------
:DoGuV
SUB #subGUV
RETURN

* ---------------------------
* Debitorenkonten
* ---------------------------
:DoDeb
SUB #subDeb
RETURN

* ---------------------------
* Kreditorenkonten
* ---------------------------
:DoKre
SUB #subKre
RETURN



#end

##FussSeite
CY=3
L=0;0;100;1; ;\-
L=0;2;100;1; ;\-
R=64,0;1,0;12,0;1,0;Arial,8,N;$[mSumme1!S]
R=76,0;1,0;12,0;1,0;Arial,8,N;$[mSumme2!S]
R=88,0;1,0;12,0;1,0;Arial,8,N;$[mSumme3!S]
L=7,0;1,0;28,0;1,0;Arial,8,N;Liste Nr. 1011 - Übertrag

#end

##FussBericht
CY=3
L=0;0;100;1; ;\-
L=0;2;100;1; ;\-
R=64,0;1,0;12,0;1,0;Arial,8,F;$[mSumme1!S]
R=76,0;1,0;12,0;1,0;Arial,8,F;$[mSumme2!S]
R=88,0;1,0;12,0;1,0;Arial,8,F;$[mSumme3!S]
L=7,0;1,0;28,0;1,0;Arial,8,N;Liste Nr. 1011 - Summe Salden

#end

