home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: 25 Years Anniversary
/
CHIP_25Jahre_Jubilaeum.iso
/
downloads
/
400616
/
data1.cab
/
_lohnauskunft-Formulare
/
AG.lsf
< prev
next >
Wrap
Text File
|
2003-04-01
|
30KB
|
905 lines
Include "DruckNT.int"
Include "Lak_NT.int"
'Descriptions
Description Form_Description as "Arbeitgeberbelastung"
Description Form_Code as "Arbeitgeberbelastung"
Description Page_Orientation as PAGE_PORTRAIT
SetHeaderMargin(140,80,110,100)
SetBodyMargin(135,250,110,250)
SetFooterMargin(135,250,110,100)
'n zΣhlt Menge von EintrΣgen im Belastungen-Feld, um Schriftart bei zu vielen zu verkleinern
Dim n as Numeric
If is("D",7) then else n=n+1 End If
If is("D",10) then else n=n+1 End If
If is ("D",21) then n=n+1 End If
If is ("D",26) then n=n+1 End If
If is ("D",30) then n=n+1 End If
If is ("D",31) then n=n+1 End If
If is ("D",32) then n=n+1 End If
If is ("D",51) then n=n+1 End If
If is ("D",52) then n=n+1 End If
If is ("D",61) then else n=n+1 End If
If is ("D",72) then n=n+1 End If
If is ("D",73) then n=n+1 End If
If is ("D",74) then n=n+1 End If
If is ("D",75) then n=n+1 End If
If is ("D",76) then n=n+1 End If
If is ("E",1) then n=n+1 End If
Dim hBold as FontType
Dim hExtraBold as FontType
Dim hNormal as FontType
Dim hNormal2 as FontType
Dim hBelastung as FontType
Dim hBelastung2 as FontType
Dim hMini as FontType
hNormal2 = CreateFont("Arial",9, FONT_Bold, COLOR_BLACK)
hNormal = CreateFont("Arial",8, FONT_NORMAL, COLOR_BLACK)
hBold = CreateFont("Arial",8, FONT_BOLD, COLOR_BLACK)
hExtraBold = CreateFont("Arial",9,FONT_BOLD,COLOR_BLACK)
If n<13 then
hBelastung = CreateFont("Arial",8, FONT_NORMAL, COLOR_BLACK)
hBelastung2 = CreateFont("Arial",8, FONT_ITALIC, COLOR_BLACK)
Else
hBelastung = CreateFont("Arial",8, FONT_NORMAL, COLOR_BLACK)
hBelastung2 = CreateFont("Arial",8, FONT_ITALIC, COLOR_BLACK)
End If
hMini=CreateFont("Arial",7, FONT_NORMAL, COLOR_BLACK)
SetFont("Arial",8, FONT_NORMAL, COLOR_BLACK)
Dim nAbrechJahr as Numeric = GetInt("D",2)
Dim StrKurs as String
If ( nAbrechJahr < 2003 ) Then StrKurs = "Kurs: 1 EUR = 1,95583 DM" Else StrKurs = "" End If
'Funktion, um die Kopfzeile zu schreiben
Function OnPrintHeader()
SetFont("Arial",12,FONT_BOLD,COLOR_BLACK)
SetTabs("L10 R1840")
T("\tArbeitgeberbelastung"+ "\t")
SetFont("Arial",12,FONT_NORMAL,COLOR_BLACK)
TL(StrStr("D",1) + " " + FormatNumeric("%0.0f", nAbrechJahr ) )
SetFont("Arial",10,FONT_NORMAL,COLOR_BLACK)
RemoveAllTabs()
SetTabs("L10 R1786")
SetPos(0,GetPosY()+40)
TL("\t" + StrStr("F",1) + " , " + StrStr("F",2) + " , " + StrStr("F",3) + " " + StrStr("F",4) )
'DrawHorzLine(FALSE)
End Function
'Funktion, um die Fu▀zeile zu schreiben
Function OnPrintFooter()
Dim cFuss as CellType = CreateCell (0,0,CELL_TYPE_DYNVERT + CELL_TYPE_DYNHORZ + CELL_TYPE_HORZ)
SetCellBorder(cFuss ,CELL_BORDER_ALL,0 ,PEN_NULL, COLOR_BLACK)
SetCellBorder(cFuss,CELL_BORDER_TOP,1,PEN_SOLID, COLOR_BLACK)
Dim cLexwareVersion as CellType = CreateCellEx (cFuss,1520,0,CELL_TYPE_DYNVERT,"Lexware lohnauskunft " +GetProgramVersion(),
hNormal,CELL_TEXT_LEFT, COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 15, 10, 0, 0)
Dim cDate as CellType = CreateCellEx (cFuss,330,0,CELL_TYPE_DYNVERT,FormatDate("%d.%m.%Y",Now()),hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 0, 10, 15, 0)
DrawCell(cFuss,TRUE)
End Function
Function BorderWidth(id as CellType, left as Numeric, top as Numeric, right as Numeric, bottom as Numeric)
SetCellBorder(id, CELL_BORDER_LEFT,left ,PEN_SOLID, COLOR_BLACK)
SetCellBorder(id, CELL_BORDER_TOP, top,PEN_SOLID, COLOR_BLACK)
SetCellBorder(id, CELL_BORDER_RIGHT, right,PEN_SOLID, COLOR_BLACK)
SetCellBorder(id, CELL_BORDER_BOTTOM,bottom ,PEN_SOLID, COLOR_BLACK)
End Function
Function Cell( id as CellType, index as Numeric) as CellType
Cell=GetCellByIndex(id, index)
End Function
Function KorrDMnachEUR(LohnartBetrag as Numeric) As String
KorrDMnachEUR=FormatAmt(LohnartBetrag/1.95583)
End Function
Function KorrEURnachDM(LohnartBetrag as Numeric) As String
If LohnartBetrag>=0 Then
KorrEURnachDM=FormatAmt(LohnartBetrag*1.95583+0.00000002)
Else
KorrEURnachDM=FormatAmt(LohnartBetrag*1.95583-0.00000002)
End If
End Function
'Hauptteil
SetEventHandler(EVENT_PRINT_HEADER,OnPrintHeader)
SetEventHandler(EVENT_PRINT_FOOTER,OnPrintFooter)
'Kopfleiste mit Personaldaten
Dim KopfZeilenNr as Numeric=0
Dim cKopfTop as CellType=CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ)
SetCellBorder(cKopfTop,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cKopfRechts as CellType=CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT +CELL_TYPE_VERT )
Function EinfgStammDaten( FeldBreite as Numeric, FeldName as String, FeldWert as String) as CellType
dim cPos as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_VERT)
SetCellBackground(cPos,COLOR_WHITE)
If KopfZeilenNr=1 Then
SetCellParent(cPos, cKopfTop)
Else
SetCellParent(cPos, cell(cKopfRechts,KopfZeilenNr-1))
End If
CreateCellEx(cPos,FeldBreite,45,CELL_TYPE_DYNVERT+CELL_TYPE_HORZ,FeldName,hNormal,CELL_TEXT_CENTER,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 0, 0)
CreateCellEx(cPos,FeldBreite,45,CELL_TYPE_DYNVERT,FeldWert,hNormal,CELL_TEXT_CENTER,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 0, 0)
End Function
Dim OeffentlDienstBetrag as Numeric
Dim OeffentlDienstWert as String
Dim KVWert as String
Dim KVSatz as String
Dim PVWert as String
Dim RVWert as String
Dim RVWertAN as String
Dim RV_AG12_RestAN as Bool
Dim AVWert as String
Dim RestUrlaubBetrag as Numeric
Dim RestUrlaubWert as String
Dim SchluesselSV as Numeric
Dim SteuerklasseBetrag as Numeric
Dim SteuerklasseWert as String
Dim SteuerTraegt as String
Dim UrlaubsAnspruchBetrag as Numeric
Dim UrlaubsAnspruchWert as String
Dim WaehrungWert as String
If Is("D",80) Then
WaehrungWert="EURO"
Else
WaehrungWert="DM"
End If
OeffentlDienstBetrag=GetInt("B",16)
If OeffentlDienstBetrag=0 Then OeffentlDienstWert="nein"
Else If OeffentlDienstBetrag=1 Then OeffentlDienstWert="Vbl / Zvk"
Else OeffentlDienstWert="VblU" End If
End If
SteuerklasseBetrag=GetInt("D",6)
If SteuerklasseBetrag=0 Then SteuerklasseWert="0" End If
If SteuerklasseBetrag=1 Then SteuerklasseWert="I" End If
If SteuerklasseBetrag=2 Then SteuerklasseWert="II" End If
If SteuerklasseBetrag=3 Then SteuerklasseWert="III" End If
If SteuerklasseBetrag=4 Then SteuerklasseWert="IV" End If
If SteuerklasseBetrag=5 Then SteuerklasseWert="V" End If
If SteuerklasseBetrag=6 Then SteuerklasseWert="VI" End If
SteuerTraegt=Get("D",104)
If SteuerTraegt="AN" Then SteuerTraegt="Arbeitnehmer"
Else SteuerTraegt="Arbeitgeber" End If
SchluesselSV= GetInt("D",7)
If SchluesselSV=1 Then
KVSatz=" - "+StrAmt("D",11)+" %"
KVWert=Get("D",59)
End If
If SchluesselSV=9 Then KVWert="freiwillig / privat"
Else
If SchluesselSV=0 OR SchluesselSV=6 Then KVWert=Get("D",57)
Else If SchluesselSV=21 Then KVWert="AG 5%" End If
End If
End If
SchluesselSV=GetInt("D",8)
If SchluesselSV=1 Then RVWert="ja"
Else If SchluesselSV=0 Then RVWert="nein"
Else If SchluesselSV=17 Then
RV_AG12_RestAN=TRUE
RVWert="12 %"
SetFormatNumericOptions(2,"","")
RVWertAN=FormatNumeric("%0.1f", GetNumeric("R",28))+" %"
SetFormatNumericOptions(0,"","")
Else If SchluesselSV=22 Then
RV_AG12_RestAN=TRUE
RVWert="5 %"
RVWertAN=FormatNumeric("%0.1f", GetNumeric("R",29))+" %"
Else If SchluesselSV=6 Then
RV_AG12_RestAN=TRUE
RVWert="12 %"
RVWertAN="0 %"
Else If SchluesselSV=21 Then
RV_AG12_RestAN=TRUE
RVWert="5 %"
RVWertAN="0 %"
Else RVWert="1/2 Beitrag AG" End If
End If
End If
End If
End If
End If
SchluesselSV=GetInt("D",9)
If SchluesselSV=1 Then AVWert="ja"
Else If SchluesselSV=0 Then AVWert="nein"
Else AVWert="1/2 Beitrag AG" End If
End If
SchluesselSV=GetInt("D",10)
If SchluesselSV=1 Then PVWert="ja"
Else If SchluesselSV=0 Then PVWert="nein"
Else If SchluesselSV=9 Then PVWert="freiwillig / privat"
Else PVWert="halber Beitrag" End If
End If
End If
RestUrlaubBetrag=GetNumeric("P",64)
If RestUrlaubBetrag<>1 Then
RestUrlaubWert=StrAmt("P",64)+" Tage"
Else
RestUrlaubWert=StrAmt("P",64)+" Tag"
End If
UrlaubsAnspruchBetrag=GetNumeric("P",63)
If UrlaubsAnspruchBetrag<>1 Then
UrlaubsAnspruchWert=StrAmt("P",63)+" Tage"
Else
UrlaubsAnspruchWert=StrAmt("P",63)+" Tag"
End If
'1. Kopfzeile
KopfZeilenNr=KopfZeilenNr+1
EinfgStammDaten( 230, "Personal-Nr.", StrStr("P",1))
EinfgStammDaten( 710, "Name, Vorname",StrStr("P",2) +" , "+ StrStr("P",3) )
EinfgStammDaten( 339, "Kostenstelle", StrStr("P",16))
EinfgStammDaten( 190, "Eintritt", StrDate("P",19))
EinfgStammDaten( 233, "Abrechnung", StrStr("D",60))
EinfgStammDaten( 148, "WΣhrung", WaehrungWert)
'2.Kopfzeile
KopfZeilenNr=KopfZeilenNr+1
SetCellParent(CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT +CELL_TYPE_HORZ),cKopfRechts)
BorderWidth(cell(cKopfRechts,KopfZeilenNr-1),3,3,3,3)
EinfgStammDaten( 230, "╓ffentl. Dienst", OeffentlDienstWert)
Dim StPausch as Bool
If SteuerklasseBetrag<0 Then StPausch=TRUE End If
If StPausch=FALSE Then
EinfgStammDaten( 117, "St.-Kl.", SteuerklasseWert)
EinfgStammDaten( 116, "Kinder", StrKfb("D",17))
EinfgStammDaten( 159, "Kirche",StrBool("D",14))
EinfgStammDaten( 318, "Freibetrag", StrAmt("D",15)+" "+StrStr("D",115))
Else
EinfgStammDaten( 233, "Besteuerung", "Pauschal")
EinfgStammDaten( 255, "Steuer trΣgt der", SteuerTraegt)
EinfgStammDaten( 222, "Steuersatz", StrAmt("D",103)+" %")
End If
EinfgStammDaten( 222, "KV"+KVSatz, KVWert)
EinfgStammDaten( 233, "PV", PVWErt)
EinfgStammDaten( 233, "RV", RVWert)
EinfgStammDaten( 222, "AV", AVWert)
Dim cKopfRV as CellType
Dim Pos_RV_HORZ as Numeric
If StPausch=TRUE Then Pos_RV_HORZ=7
Else Pos_RV_HORZ=8 End If
SetCellBorder(Cell(Cell(cKopfRechts,1),Pos_RV_HORZ-2),CELL_BORDER_LEFT,3,PEN_SOLID,COLOR_BLACK)
If RV_AG12_RestAN=TRUE Then
cKopfRV=Cell(cell(cKopfRechts,KopfZeilenNr-1),Pos_RV_HORZ)
SetCellText(Cell(cKopfRV,1),"")
CreateCellEx(Cell(cKopfRV,1),76,45,CELL_TYPE_DYNVERT,"AG",hMini,CELL_TEXT_LEFT,
COLOR_TRANSPARENT, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 15, 10, 0, 0)
CreateCellEx(Cell(cKopfRV,1),81,45,CELL_TYPE_DYNVERT,"- RV -",hNormal,CELL_TEXT_CENTER,
COLOR_TRANSPARENT, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 0, 7, 0, 0)
CreateCellEx(Cell(cKopfRV,1),76,45,CELL_TYPE_DYNVERT,"AN",hMini,CELL_TEXT_RIGHT,
COLOR_TRANSPARENT, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 0, 10, 15, 0)
SetCellAlign(Cell(cKopfRV,2),CELL_TEXT_LEFT)
SetCellTextBorder(Cell(cKopfRV,2),15,7,0,0)
CreateCellEx(Cell(cKopfRV,2),233,45,CELL_TYPE_DYNVERT,RVWertAN,hNormal,CELL_TEXT_RIGHT,
COLOR_TRANSPARENT, hNullPen, hNullPen, hSolidPen, hNullPen, hNullPen, 0, 7, 15, 0)
End If
'3.Kopfzeile
KopfZeilenNr=KopfZeilenNr+1
SetCellParent(CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT +CELL_TYPE_HORZ),cKopfRechts)
BorderWidth(cell(cKopfRechts,KopfZeilenNr-1),3,0,3,3)
EinfgStammDaten( 155, "Resturlaub",ResturlaubWert )
EinfgStammDaten( 235, "Urlaubsanspruch", UrlaubsAnspruchWert)
EinfgStammDaten( 350, "Bundesland", StrStr("D",19))
EinfgStammDaten( 200, "Kindergeld", StrAmt("B",14)+ " " + StrStr("B",114))
EinfgStammDaten( 222, "KV-Brutto", StrAmt("R",13))
EinfgStammDaten( 233, "PV-Brutto", StrAmt("R",22))
EinfgStammDaten( 233, "RV-Brutto", StrAmt("R",14))
EinfgStammDaten( 222, "AV-Brutto", StrAmt("R",15))
SetCellBorder(Cell(Cell(cKopfRechts,2),5),CELL_BORDER_LEFT,3,PEN_SOLID,COLOR_BLACK)
DrawCell(cKopfTop,TRUE)
LF
SetPos(0,GetPosY())
DrawCell(cKopfRechts,TRUE)
'4.Kopfzeile
KopfZeilenNr=KopfZeilenNr+1
SetCellParent(CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT +CELL_TYPE_HORZ),cKopfRechts)
BorderWidth(cell(cKopfRechts,KopfZeilenNr-1),3,0,3,3)
If Is("E",5) Then
EinfgStammDaten(222, "KV-Brutto"+ " "+FormatNumeric("%0.0f",GetInt("D",2)-1),StrAmt("R",16) )
EinfgStammDaten( 233, "PV-Brutto"+ " "+FormatNumeric("%0.0f",GetInt("D",2)-1),StrAmt("R",23) )
EinfgStammDaten( 233, "RV-Brutto"+ " "+FormatNumeric("%0.0f",GetInt("D",2)-1), StrAmt("R",17))
EinfgStammDaten( 222, "AV-Brutto"+ " "+FormatNumeric("%0.0f",GetInt("D",2)-1), StrAmt("R",18))
SetPos(940,GetPosY())
BorderWidth(cell(cKopfRechts,KopfZeilenNr-1),3,0,3,3)
DrawCell(Cell(cKopfRechts,3),TRUE)
End If
'Belastungen mit Aufschlⁿsselung
Dim cBelastungen as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellBorder(cBelastungen,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cBelastung as CellType = CreateCell (0,0,CELL_TYPE_DYNVERT + CELL_TYPE_DYNHORZ + CELL_TYPE_HORZ)
SetCellParent (cBelastung,cBelastungen)
'▄berschriften
Dim cBelast as CellType = CreateCellEx (cBelastung,1520,0,CELL_TYPE_DYNVERT,"Belastung",hNormal2,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 10, 5, 5)
Dim cKurs as CellType = CreateCellEx (cBelast,1520,0,CELL_TYPE_DYNVERT, StrKurs ,hNormal,CELL_TEXT_RIGHT,
COLOR_TRANSPARENT, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 15, 13, 20, 5)
Dim cBelastBetrag as CellType = CreateCellEx (cBelastung,330,0,CELL_TYPE_DYNVERT,"Betrag",hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 13, 30, 5)
Dim Spalte1 as CellType
Dim Spalte2 as CellType
Dim BelastHeight as Numeric
If Is("E",5) Then BelastHeight=930
Else BelastHeight=1020 End If
If OeffentlDienstBetrag<>0 Then BelastHeight=BelastHeight-42 End If
If Is("R",27) Then BelastHeight=BelastHeight-42 End If
'Aufschlⁿsselung
'Zellendefinierung
Dim cBelastAufschl as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ)
SetCellParent(cBelastAufschl,cBelastungen)
Dim cBelastWert as CellType = CreateCell (1520,BelastHeight,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cBelastWert,cBelastAufschl)
Dim cWBelastWert as CellType = CreateCell (330,BelastHeight,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cWBelastWert,cBelastAufschl)
Spalte1=cBelastWert
Spalte2=cWBelastWert
Dim ctPosition as celltemplateType
dim ctBetrag as celltemplateType
dim ctWaehrung as celltemplateType
ctPosition=createCellTemplate(1190,0,CELL_TYPE_DYNVERT,hNormal,CELL_TEXT_LEFT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen,15, 10, 0, 0)
ctBetrag=createCellTemplate(250,0,CELL_TYPE_DYNVERT,hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen,5, 10, 0, 0)
ctWaehrung=createCellTemplate (80,0,CELL_TYPE_DYNVERT,hNormal,CELL_TEXT_LEFT,
COLOR_WHITE, hNullPen, hNullPen, hSolidPen, hNullPen, hNullPen,0, 10, 5, 0)
Dim q as Numeric
Dim r as Numeric=1
Dim stWaehrFirma as String
Dim blOutputFirma as Bool
Dim NumPauschAnteilDV as Numeric
blOutputFirma=Is("D",81)
If Is("D",80) Then stWaehrFirma="EUR"
Else stWaehrFirma="DM"
End If
function EinfgPosition(Lohnart as String, s as String, n as Numeric)
SetCellParent(CreateCell(1520,0,CELL_TYPE_DYNVERT + CELL_TYPE_HORZ),Spalte1)
SetCellParent(CreateCell(330,0,CELL_TYPE_DYNVERT + CELL_TYPE_HORZ),Spalte2)
q=q+1
SetCellTextBorder(Cell(Spalte1,q),0,0,0,0)
SetCellTextBorder(Cell(Spalte2,q),0,0,0,0)
SetCellBorder(Cell(Spalte1,q),CELL_BORDER_ALL,0,PEN_NULL,COLOR_TRANSPARENT)
SetCellBorder(Cell(Spalte2,q),CELL_BORDER_ALL,0,PEN_NULL,COLOR_TRANSPARENT)
Dim stBetrag as String
Dim stWaehrung as String
Dim stKorrBetrag as String
Dim stKorrWaehrung as String
Dim NumBetrag as Numeric
If s<>"" Then
NumBetrag=GetNumeric(s,n)
stBetrag=FormatAmt(NumBetrag)
stWaehrung=StrStr(s,100+n)
If stWaehrFirma<>stWaehrung Then
If stWaehrung="DM" Then
stKorrBetrag=KorrDMnachEUR(NumBetrag)
stKorrWaehrung=" EUR"
Else
stKorrBetrag=KorrEURnachDM(NumBetrag)
stKorrWaehrung=" DM"
End If
Else
stKorrBetrag=""
stKorrWaehrung=""
End If
Else
stKorrBetrag=""
stKorrWaehrung=""
stBetrag=""
stWaehrung=""
End If
createCellFromTemplate(ctPosition,Cell(Spalte1,q),Lohnart)
If (blOutputFirma=FALSE) AND (stKorrWaehrung<>"") Then
createCellFromTemplate(ctBetrag,Cell(Spalte1,q),stBetrag)
createCellFromTemplate(ctWaehrung,Cell(Spalte1,q)," "+stWaehrung)
createCellFromTemplate(ctBetrag,Cell(Spalte2,q),stKorrBetrag)
createCellFromTemplate(ctWaehrung,Cell(Spalte2,q),stKorrWaehrung)
Else
createCellFromTemplate(ctBetrag,Cell(Spalte1,q),stKorrBetrag)
createCellFromTemplate(ctWaehrung,Cell(Spalte1,q),stKorrWaehrung)
createCellFromTemplate(ctBetrag,Cell(Spalte2,q),stBetrag)
createCellFromTemplate(ctWaehrung,Cell(Spalte2,q)," "+stWaehrung)
End If
end function
Function Build_stLohnart(TextLohnart as String, Bereich as String, NrBereich as Numeric) as String
Dim stlohnart as String
Dim stBruttoWaehrung as String
Dim stKorrBetrag as String
Dim stKorrWaehrung as String
stBruttoWaehrung=StrStr(Bereich, (NrBereich+100))
stlohnart=TextLohnart+" ( "+StrAmt(Bereich,NrBereich)+" "+stBruttoWaehrung
If stWaehrFirma<>stBruttoWaehrung Then
If stBruttoWaehrung="DM" Then
stKorrBetrag=KorrDMnachEUR(GetNumeric(Bereich,NrBereich))
stKorrWaehrung=" EUR"
Else
stKorrBetrag=KorrEURnachDM(GetNumeric(Bereich,NrBereich))
stKorrWaehrung=" DM"
End If
stlohnart=stlohnart+" / "+stKorrBetrag+stKorrWaehrung
End IF
stlohnart=stlohnart+" )"
Build_stLohnart=stlohnart
End Function
Dim cBruttoLZ as CellType
Dim cWBruttoLZ as CellType
Dim stLohnart as String
Dim stEinheit as String
Dim Menge as Numeric
Dim StrPauschAnteilDV as String=""
Dim i as Numeric
If Is("D",61) then
While i<=5 do
If Is("D",71+i) Then
stLohnart=StrStr("D",66+i)
If Is("D",82+i) Then
stEinheit=StrInt("D",87+i)
Menge=GetNumeric("D",92+i)
If stEinheit="0" Then
stEinheit="Std"
Else
If stEinheit="1" Then
stEinheit="Stⁿck"
Else
If Menge=1 Then
stEinheit="Tag"
Else
stEinheit="Tage"
End IF
End If
End If
stLohnart=stLohnart+StrAmt("D",92+i)+" "+stEinheit+" "+"α"+" "+StrAmt("D",97+i)+" "+StrStr("D",161+i)
End If
If stLohnart="" Then stLohnart="Bruttogehalt "+FormatNumeric("%0.0f",i) End If
' If ((i=5) AND Is("D",54)) Then
'
' NumPauschAnteilDV=GetNumeric("A",51)
'
' If ((stLohnart="Barlohnumwandlung fⁿr Direktversicherung") AND (NumPauschAnteilDV>0)) Then
'
' stLohnart=stLohnart+" ( -"+FormatAmt(NumPauschAnteilDV-GetNumeric("A",46))+" + nicht pausch. Anteil "+FormatAmt(NumPauschAnteilDV)+" )"
'
' End If
'
' End If
' If Not ((i=5) AND ((stLohnart="Barlohnumwandlung fⁿr Direktversicherung") OR (stLohnart="Nicht pauschaler Anteil der DV-Zusatzleistung"))) Then
'
' EinfgPosition(stLohnart,"D",61+i)
'
' End If
If (i<5) Then EinfgPosition(stLohnart,"D",61+i)
Else
If (stLohnart="Barlohnumwandlung fⁿr Direktversicherung") Then StrPauschAnteilDV="Barlohnumwandlung" End If
If (stLohnart="Nicht pauschaler Anteil der DV-Zusatzleistung") Then StrPauschAnteilDV="Zusatzleistung" End If
If (StrPauschAnteilDV="") Then EinfgPosition(stLohnart,"D",61+i) End if
End If
End If
i=i+1
End While
Else
'wenn nur ein Gehalt vorhanden ist
EinfgPosition("Bruttogehalt","D",5)
End If
'Einmalzahlung
Dim EZArtInt as Numeric
Dim EZArt as String
If is("E",1) then
EZArt=StrStr("E",29)
EZArtInt=GetInt("E",36)
If EZArt="" Then
If EZArtInt=0 Then EZArt="Einmalzahlung"
Else If EZArtInt=1 Then EZArt="Abfindung"
Else EZArt="MehrjΣhrige Vergⁿtung"
End If
End If
Else EZArt=StrStr("E",29)
End If
EinfgPosition(EZArt,"E",2)
End If
'Verm÷genswirksame Leistungen
If is("D",26) then
EinfgPosition("Verm÷genswirksame Leistungen","B",2)
End If
'Direktversicherung
If is("D",21) then
NumPauschAnteilDV=GetNumeric("A",51)
If is("D",55) then
If (NumPauschAnteilDV>0) Then
stLohnart=Build_stLohnart("Nicht pauschaler Anteil DV-Einmalzahlung","A",51)
EinfgPosition(stLohnart,"",0)
End If
stLohnart=Build_stLohnart("Direktversicherung aus Einmalzahlung","B",4)
EinfgPosition(stLohnart,"",0)
End If
If Is("D",54) Then
If NumPauschAnteilDV>0 Then
stLohnart="Barlohnumwandlung fⁿr Direktversicherung"+" ( -"+FormatAmt(NumPauschAnteilDV-GetNumeric("A",46))+" + nicht pausch. Anteil "+FormatAmt(NumPauschAnteilDV)+" )"
EinfgPosition(stLohnart,"D",66)
stLohnart="Direktversicherung"+" ( "+FormatAmt(NumPauschAnteilDV-GetNumeric("A",46))+" - nicht pausch. Anteil "+FormatAmt(-NumPauschAnteilDV)+" )"
EinfgPosition(stLohnart,"B",4)
Else
EinfgPosition("Barlohnumwandlung fⁿr Direktversicherung","D",66)
EinfgPosition("Direktversicherung","B",4)
End If
End If
If Is("D",53) Then
stLohnart="Direktversicherung"
If StrPauschAnteilDV="Zusatzleistung" Then
EinfgPosition("Nicht pauschaler Anteil der DV-Zusatzleistung","A",51)
End If
EinfgPosition(stLohnart,"B",4)
End If
End If
'Geldwerter Vorteil 1-3
While r<=3 Do
If is("D",22+r) then
stLohnart=StrStr("D",32+r)
If stLohnart="" Then stLohnart="Geldwerter Vorteil "+FormatNumeric("%0.0f",r) End If
EinfgPosition(stLohnart,"B",7+r)
End If
r=r+1
End While
r=1
'Fahrgeld
If is("D",22) then
EinfgPosition("Fahrgeld","B",11)
End If
'1.-3. Steuerfreier Bezug
While r<=3 Do
If is("D",29+r) then
EinfgPosition("Steuerfreier Bezug: "+StrStr("D",38+r),"B",4+r)
End If
r=r+1
End While
r=1
'wenn Arbeitnehmer nicht in der gesetzlichen Krankenversicherung
If GetInt("D",7)=9 then
EinfgPosition("AG-Ant. Freiw. KV","B",3)
End If
'wenn Arbeitnehmer nicht in der Pflegeversicherung
If GetInt("D",10)=9 then
EinfgPosition("AG-Ant. Freiw. PV","B",13)
End If
'Dienstwagen
If Is("D",20) Then
EinfgPosition("Dienstwagen","B",1)
End If
cBruttoLZ = CreateCellEx (cBelastWert,1520,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 0, 5, 0)
SetCellBorder(cBruttoLZ,CELL_BORDER_TOP,0,PEN_SOLID,COLOR_WHITE)
SetCellBorder(cBruttoLZ,CELL_BORDER_BOTTOM,0,PEN_SOLID,COLOR_WHITE)
cWBruttoLZ = CreateCellEx (cWBelastWert,330,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 0, 15, 0)
SetCellBorder(cWBruttoLZ,CELL_BORDER_TOP,0,PEN_SOLID,COLOR_WHITE)
SetCellBorder(cWBruttoLZ,CELL_BORDER_BOTTOM,0,PEN_SOLID,COLOR_WHITE)
'Sozialversicherungen mit Aufschlⁿsselung
Dim cSozialversicherungen as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellBorder(cSozialversicherungen,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cSozialversicherung as CellType = CreateCell (0,0,CELL_TYPE_DYNVERT + CELL_TYPE_DYNHORZ + CELL_TYPE_HORZ)
SetCellParent (cSozialversicherung,cSozialversicherungen)
'▄berschriften
Dim cSozialv as CellType = CreateCellEx (cSozialversicherung,1520,0,CELL_TYPE_DYNVERT,"Sozialversicherungen",hNormal2,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hNullPen, hNullPen, 15, 10, 5, 5)
Dim cVersBetrag as CellType CreateCellEx (cSozialversicherung,330,0,CELL_TYPE_DYNVERT,"Betrag",hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hNullPen, hNullPen, 5, 13, 30, 5)
'Aufschlⁿsselung
'Zellendefinierung
Dim cSozVersAufschl as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ)
SetCellParent(cSozVersAufschl,cSozialversicherungen)
Dim cSozVers as CellType = CreateCell (1520,0,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cSozVers,cSozVersAufschl)
Dim cWSozVers as CellType = CreateCell (330,0,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cWSozVers,cSozVersAufschl)
Spalte1=cSozVers
Spalte2=cWSozVers
q=0
'Krankenversicherung
EinfgPosition("Krankenversicherung","G",1)
'Pflegeversicherung
EinfgPosition("Pflegeversicherung","G",9)
'Rentenversicherung
EinfgPosition("Rentenversicherung","G",2)
'Arbeitslosenversicherung
EinfgPosition("Arbeitslosenversicherung","G",3)
CreateCellEx (cSozVers,1500,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_LEFT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 15, 0, 5, 0)
CreateCellEx (cWSozVers,330,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_RIGHT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 5, 0, 15, 0)
'Pauschalen mit Aufschlⁿsselung
Dim cPauschalen as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellBorder(cPauschalen,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cPauschal as CellType = CreateCell (0,0,CELL_TYPE_DYNVERT + CELL_TYPE_DYNHORZ + CELL_TYPE_HORZ)
SetCellParent (cPauschal,cPauschalen)
'▄berschriften
Dim cPauschUeb as CellType = CreateCellEx (cPauschal,1520,0,CELL_TYPE_DYNVERT,"Pauschalen",hNormal2,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 10, 5, 5)
Dim cPauschBetrag as CellType CreateCellEx (cPauschal,330,0,CELL_TYPE_DYNVERT,"Betrag",hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 13, 30, 5)
'Aufschlⁿsselung
'Zellendefinierung
Dim cPauschAufschl as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ)
SetCellParent(cPauschAufschl,cPauschalen)
Dim cPausch as CellType = CreateCell (1520,0,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cPausch,cPauschAufschl)
Dim cWPausch as CellType = CreateCell (330,0,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cWPausch,cPauschAufschl)
Spalte1=cPausch
Spalte2=cWPausch
q=0
'Lohnsteuer
EinfgPosition("Lohnsteuer","G",4)
'Kirchensteuer
EinfgPosition("Kirchensteuer","G",5)
'SolidaritΣtszuschlag
EinfgPosition("SolidaritΣtszuschlag","G",13)
CreateCellEx (cPausch,1500,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_LEFT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 15, 0, 5, 0)
CreateCellEx (cWPausch,330,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_RIGHT,
COLOR_WHITE, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen, 5, 0, 15, 0)
'Arbeitgeberkassen mit Aufschlⁿsselung
Dim cArbeitgeberkassen as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellBorder(cArbeitgeberkassen,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cArbeitgKass as CellType = CreateCell (0,0,CELL_TYPE_DYNVERT + CELL_TYPE_DYNHORZ + CELL_TYPE_HORZ)
SetCellParent (cArbeitgKass,cArbeitgeberkassen)
'▄berschriften
Dim cKassenUeb as CellType = CreateCellEx (cArbeitgKass,1520,0,CELL_TYPE_DYNVERT,"Arbeitgeberkassen",hNormal2,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 10, 5, 5)
Dim cKassenBetrag as CellType CreateCellEx (cArbeitgKass,330,0,CELL_TYPE_DYNVERT,"Betrag",hNormal,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 13, 30, 5)
'Aufschlⁿsselung
'Zellendefinierung
Dim cKassenAufschl as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ)
SetCellParent(cKassenAufschl,cArbeitgeberkassen)
Dim cKassen as CellType = CreateCell (1520,82,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cKassen,cKassenAufschl)
Dim cWKassen as CellType = CreateCell (330,82,CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellParent(cWKassen,cKassenAufschl)
Spalte1=cKassen
Spalte2=cWKassen
q=0
Dim cAGKLZ as CellType
Dim cWAGKLZ as CellType
'Ausgleichskasse U1
EinfgPosition("Ausgleichskasse U1","G",7)
'Ausgleichskasse U2
EinfgPosition("Ausgleichskasse U2","G",8)
'Zusatzversorgungskasse
If OeffentlDienstBetrag=1 then EinfgPosition("VBL/ZVK-Arbeitgeber-Umlage","G",14) End If
If OeffentlDienstBetrag=2 then EinfgPosition("VBLU-Arbeitgeber-Umlage","G",14) End If
'VBL/ZVK-Erh÷hungsbetrag
If Is("R",27) Then EinfgPosition("VBL/ZVK-Erh÷hungsbetrag","G",15) End If
cAGKLZ = CreateCellEx (cKassen,1500,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_LEFT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 0, 5, 0)
SetCellBorder(cAGKLZ,CELL_BORDER_TOP,0,PEN_SOLID,COLOR_WHITE)
SetCellBorder(cAGKLZ,CELL_BORDER_BOTTOM,0,PEN_SOLID,COLOR_WHITE)
cWAGKLZ = CreateCellEx (cWKassen,330,10,CELL_TYPE_DYNHORZ,"",hBelastung,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 0, 15, 0)
SetCellBorder(cWAGKLZ,CELL_BORDER_TOP,0,PEN_SOLID,COLOR_WHITE)
SetCellBorder(cWAGKLZ,CELL_BORDER_BOTTOM,0,PEN_SOLID,COLOR_WHITE)
'Gesamt AG
Dim cGesAG as CellType = CreateCell (0,0,CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT)
SetCellBorder(cGesAG,CELL_BORDER_ALL,3,PEN_SOLID,COLOR_BLACK)
Dim cNGesAG as CellType = CreateCellEx (cGesAG,330,0,CELL_TYPE_DYNVERT,"Gesamt AG",hBold,CELL_TEXT_RIGHT,
COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 5, 13, 15, 5)
Dim cWGesAG as CellType = CreateCellEx (cGesAG,330,0,CELL_TYPE_DYNVERT,StrAmt("G",6)+" "+StrStr("G",106),
hExtraBold,CELL_TEXT_RIGHT,COLOR_WHITE, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 20, 15, 20)
'Ausdruck der Tabellen
LF
LF
DrawCell(cBelastungen,TRUE)
LF
LF
DrawCell(cSozialversicherungen,TRUE)
LF
LF
DrawCell(cPauschalen,TRUE)
LF
LF
DrawCell(cArbeitgeberkassen,TRUE)
LF
SetPos(1520,GetPosY())
DrawCell(cGesAG,TRUE)