Untitled
unknown
plain_text
a year ago
206 kB
7
Indexable
Include "Pcfk.int" 'Schnittstelle zur Faktura Include "fkeasy.lsf" 'Vereinfachungen der Schreibweise Include "pcfkvar5.lsf" 'Variablenliste Faktura ' In diesem Abschnitt sind alle Einstellungsmöglichkeiten dieses Formulars ' aufgelistet. ' Schalter für Erzeugung verschiedener Formularvarianten ' durch Setzten der verschiedenen Schalter und "Speichern unter..." werden die Unterarten der Formulare erzeugt ' Bei den Tabellen wird zwischen zwei Typen unterschieden : ' 1. Tabellen für Lieferscheine ' 2. Tabellen für die restlichen Aufträge, wie Angebote, Auftragsbestätigungen, Rechnungen, Gutschriften, Bestellungen, Sammelrechnungen ' Dabei erfolgt noch noch eine Unterscheidung ob für Brutto-oder Nettoaufträge '//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// '----------------------------------------------Formularbeschreibungen----------------------------------------------------- 'Seitenorientierung Hoch = PAGE_PORTRAIT, Quer = PAGE_LANDSCAPE Description page_orientation as PAGE_PORTRAIT Description form_description as "Standard Auftrag" Description form_code as "Auftrag layout" ' Neues Define, damit Auswahl als Brutto und Nettoformular in Faktura möglich ist Description Form_Version as "27.04.00.0222" '//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// '-------------------------------------------Formularkonstanten (Textersatz für Werte)------------------------------------ Dim b13Umsatzsteuer as bool = FALSE Dim strText13bUstG as string = "" Dim strText13bUstGSo as string = "" strText13bUstG = "Bei den vorgenannten Leistungen handelt es sich um eine sog. Bauleistung,\nfür die der Übergang der Steuerschuldnerschaft gem. § 13b UStG gilt. \nDie Umsatzsteuer ist somit vom Leistungsempfänger beim Finanzamt anzumelden und abzuführen.\nEs gilt die Steuerschuldnerschaft des Leistungsempfängers." strText13bUstGSo = "Bei den vorgenannten Leistungen handelt es sich um sonstige Leistungen EG\nnach §13b UStG. Der Leistungsempfänger schuldet die Umsatzsteuer.\nEs gilt die Steuerschuldnerschaft des Leistungsempfängers (Reverse-Charge)." Dim strTextPrivat as string = "" Dim sGrundstfrei as string = "" Dim nSteuerSatz as Numeric = 0 dim nAnzahlSt as numeric = 0 dim nAnzahlStNeben as numeric = 0 Dim bDruckeSteuerImmer as bool = TRUE ' Konstanten für Tabellentypen Const KEINE_TABELLE AS 0 Const TABELLE_AUFTRAG AS 1 Const TABELLE_LIEFERSCHEIN AS 2 ' Konstanten für Tabellen Const TABELLE_1 AS 0 Const TABELLE_2 AS 1 Const TABELLE_3 AS 2 Const TABELLE_4 AS 3 Const TABELLE_5 AS 4 Const TABELLE_6 AS 5 Const TABELLE_7 AS 6 Const TABELLE_8 AS 7 Const TABELLE_9 AS 8 Const TABELLE_10 AS 9 Const TABELLE_11 AS 10 Const TABELLE_12 AS 11 ' Brutto/Netto Formular Const AUFTRAG_NETTO AS 1 Const AUFTRAG_BRUTTO AS 2 ' Textausrichtung Const LINKS AS 0 Const RECHTS AS 1 Const MITTE AS 2 ' Layout des Formulars mit Programmwerte überschreiben JA/NEIN Const LAYOUT_DURCH_PROGRAMM as JA '//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// '-------------------------------------------Formularvariablen mit Initialisierung--------------------------------------- '///////////////////////////////////////////////////////////////////////////////////////// ' Variablen für die Formulargestaltung, werden über das Programm Faktura gesetzt. Das Überschreiben dieser Defaultwerte ' erfolgt durch include von pcfkini.lsf ( siehe oben Define LAYOUT_VON_PROGRAMM ) 'Allgemeine Einstellungen einer DIN A4 Seite Dim nSeitenHoehe as numeric = 29.70 cm Dim nSeitenBreite as numeric = 21.00 cm 'Dimensionierung der Ränder DIM nRandLinks as numeric = 1.80 cm if is(DV_FREIMACHUNG) And (nRandLinks < nPostelleRandLinks) then 'Poststelle: Mindest-Größe für linken Rand nRandLinks = nPostelleRandLinks end if DIM nRandOben as numeric = 1.50 cm DIM nRandRechts as numeric = 1.50 cm DIM nRandUnten as numeric = 1.20 cm ' Ist Auftrag ein Lieferschein ? JA/NEIN Dim bIstLieferschein as bool = NEIN ' Ist Formular ein Bruttoformular ? JA/NEIN Dim bIstAuftragBrutto as bool = NEIN ' Ausführung der Tabelle im Formular (Auftrag) Dim nTabelle as Numeric = TABELLE_1 ' Ausführung der Tabelle im Formular (Lieferschein) Dim nLieferTabelle as Numeric = TABELLE_1 ' Mit Nachkommastellen bei Menge Dim bMitNachKommaBeiMenge as bool = NEIN ' Tabellenbreite an Seitenbreite anpassen Dim bTabelleAutoFormat as bool = JA ' Typ der Tabelle im Formular (KEINE_TABELLE, TABELLE_AUFTRAG, TABELLE_LIEFERSCHEIN) 'Dim nTypTabelle as Numeric = TABELLE_AUFTRAG ' Typ des Formulars (AUFTRAG_BRUTTO, AUFTRAG_NETTO) 'Dim nTypAuftrag as Numeric = AUFTRAG_NETTO 'Position Tabelle oben auf Seite 1 Dim nTabelleObenAufSeite1 as Numeric = 9 cm 'Position Tabelle oben ab Seite 2 Dim nTabelleObenAbSeite2 as Numeric = 9 cm 'Position Tabelle links auf Seite 1 Dim nTabelleLinksAufSeite1 as Numeric = nRandLinks 'Position Tabelle oben ab Seite 2 Dim nTabelleLinksAbSeite2 as Numeric = nRandLinks 'Position Tabelle oben auf Seite 1 automatisch setzen (ab Version 1.20.01.0726) 'ist dieser Schalter gesetzt, dann wird der Wert nTabelleObenAufSeite1 ignoriert und die Tabelle 'beginnt immer unterhalb der Auftragsbeschreibung Dim bTabelleObenAufSeite1Auto as bool = JA ' Abstand von der letzten Zeile der Auftragsbeschreibung Dim bTabelleObenAufSeite1AutoAbstand as numeric = 0 cm 'Tabelle mit Kopfzeile darstellen JA/NEIN dim bTabelleMitKopf as bool = JA 'Spalte USt.steuer statt Rabattspalte, wird in Abhängigkeit vom Tabellentyp gesetzt dim bSteuerStattRabatt as bool = NEIN ' Spaltenbreiten (max. 7 Spalten möglich) für Auftrag Dim nBreiteSpalte_1 as Numeric = 0.8 cm Dim nBreiteSpalte_2 as Numeric = 3.0 cm Dim nBreiteSpalte_3 as Numeric = 2.0 cm Dim nBreiteSpalte_8 as Numeric = 0.0 cm 'Gewicht eingeschoben Dim nBreiteSpalte_4 as Numeric = 2.0 cm Dim nBreiteSpalte_5 as Numeric = 2.0 cm Dim nBreiteSpalte_6 as Numeric = 2.0 cm Dim nBreiteSpalte_6a as Numeric = 2.0 cm 'USt. Dim nBreiteSpalte_7 as Numeric = 2.0 cm 'Dim nBreiteSpalte_8 as Numeric = 2.0 cm ' Bezeichnung der Spalten für Auftrag Dim sTextSpalte_1 as String = "Pos" Dim sTextSpalte_2 as String = "Menge" Dim sTextSpalte_3 as String = "Art.-Nr." Dim sTextSpalte_8 as String = "Gewicht\n" 'Gewicht eingeschoben Dim sTextSpalte_4 as String = "Text" Dim sTextSpalte_5 as String = "Einzelpreis\n" Dim sTextSpalte_6 as String = "Rabatt\n" Dim sTextSpalte_6a as String = "USt.\n" 'USt. Dim sTextSpalte_7 as String = "Gesamtpreis\n" ' in Betragsspalten Währung anzeigen Dim bMitWaehrung as bool = NEIN ' Breite der Tabelle Dim nBreiteTabelle as Numeric = nBreiteSpalte_1 + nBreiteSpalte_2 + nBreiteSpalte_3 + nBreiteSpalte_4 nBreiteTabelle = nBreiteTabelle + nBreiteSpalte_5 + nBreiteSpalte_6 + nBreiteSpalte_6a + nBreiteSpalte_7 + nBreiteSpalte_8 ' Spaltenbreiten (max. 7 Spalten möglich) für Lieferschein Dim nLieferBreiteSpalte_1 as Numeric = 0.80 cm Dim nLieferBreiteSpalte_2 as Numeric = 3.00 cm Dim nLieferBreiteSpalte_3 as Numeric = 2.00 cm Dim nLieferBreiteSpalte_4 as Numeric = 3.00 cm Dim nLieferBreiteSpalte_5 as Numeric = 3.00 cm Dim nLieferBreiteSpalte_6 as Numeric = 2.00 cm Dim nLieferBreiteSpalte_7 as Numeric = 2.00 cm Dim nLieferBreiteSpalte_8 as Numeric = 2.00 cm ' Ust 'Dim nLieferBreiteSpalte_8 as Numeric = 2.00 cm ' Bezeichnung der Spalten für Lieferschein Dim sLieferTextSpalte_1 as String = "Pos" Dim sLieferTextSpalte_2 as String = "Menge" Dim sLieferTextSpalte_3 as String = "Art.-Nr." Dim sLieferTextSpalte_4 as String = "Gewicht\nkg" Dim sLieferTextSpalte_5 as String = "Text" Dim sLieferTextSpalte_6 as String = "Einzelpreis" Dim sLieferTextSpalte_7 as String = "Gesamtpreis" Dim sLieferTextSpalte_8 as String = "Ust." 'Schriftparameter der Spaltenbeschriftungen Dim SchriftFontSpaltenKopf as String = "Arial" Dim SchriftGroesseSpaltenKopf as numeric = 9 Dim SchriftTypSpaltenKopf as numeric = FONT_NORMAL Dim SchriftFarbeSpaltenKopf as numeric = COLOR_BLACK 'Schriftart der Spaltenbeschriftungen Dim SchriftArtSpaltenKopf as FontType = CreateFont(SchriftFontSpaltenKopf, SchriftGroesseSpaltenKopf, SchriftTypSpaltenKopf, SchriftFarbeSpaltenKopf) 'Dim SchriftArtSpaltenKopf as FontType = CreateFont("Arial", 9, FONT_BOLD, GetNumeric("X", 19)) 'Schriftparameter für Standardschriftart Dim SchriftFontStandard as String = "Arial" Dim SchriftGroesseStandard as numeric = 9 Dim SchriftTypStandard as numeric = FONT_NORMAL Dim SchriftFarbeStandard as numeric = COLOR_BLACK 'Standardschriftart Dim SchriftArtStandard as FontType = CreateFont(SchriftFontStandard, SchriftGroesseStandard, SchriftTypStandard, SchriftFarbeStandard) ' Schriftart für die Darstellung des Gesamtbetrags dim SchriftArtGesamtbetrag as FontType = CreateFont(SchriftFontStandard, SchriftGroesseStandard, FONT_BOLD, SchriftFarbeStandard) 'Kopfzeile auf Seite 1 anzeigen JA/NEIN Dim bMitKopfzeileAufSeite1 as bool = JA 'Kopfzeile ab Seite2 anzeigen JA/NEIN Dim bMitKopfzeileAbSeite2 as bool = JA 'Kopfzeile Ausrichtung Text Dim nKopfzeileTextOrientation as Numeric = LINKS 'Schriftparameter für Kopfzeilenbereich Dim SchriftFontKopfzeile as String = "Arial" Dim SchriftGroesseKopfzeile as numeric = 9 Dim SchriftTypKopfzeile as numeric = FONT_NORMAL Dim SchriftFarbeKopfzeile as numeric = COLOR_BLACK 'Schriftart für Kopfzeilenbereich Dim SchriftArtKopfzeile as FontType = CreateFont(SchriftFontKopfzeile, SchriftGroesseKopfzeile, SchriftTypKopfzeile, SchriftFarbeKopfzeile) 'Schriftart gilt nur für die 1.Zeile JA/NEIN 'bei JA werden alle nachfolgenden Zeile der Kopfzeile in der Standardschriftart dargestellt 'bei NEIN werden alle Zeilen der Kopfzeile in der gewählten Schriftart dargestellt Dim bSchriftArtNurZeile1 as bool = NEIN 'Fußzeile auf Seite 1 anzeigen JA/NEIN Dim bMitFusszeileAufSeite1 as bool = JA 'Fußzeile ab Seite2 anzeigen JA/NEIN Dim bMitFusszeileAbSeite2 as bool = JA 'Fußzeile Hoehe Dim nFusszeileHoehe as Numeric = 2.5 cm 'Schriftparameter für Fusszeilenbereich Dim SchriftFontFusszeile as String = "Arial" Dim SchriftGroesseFusszeile as numeric = 9 Dim SchriftTypFusszeile as numeric = FONT_NORMAL Dim SchriftFarbeFusszeile as numeric = COLOR_BLACK 'Schriftart für Fusszeilenbereich Dim SchriftArtFusszeile as FontType = CreateFont(SchriftFontFusszeile, SchriftGroesseFusszeile, SchriftTypFusszeile, SchriftFarbeFusszeile) 'zusätzlicher Text für Fusszeile Dim sFusszeileText1 as String = "" 'zusätzlicher Text für Fusszeile Dim sFusszeileText2 as String = "" 'zusätzlicher Text für Fusszeile Dim sFusszeileText3 as String = "" 'Absender auf Seite 1 anzeigen Ja/Nein Dim bMitAbsenderAufSeite1 as bool = JA 'Absender ab Seite 2 anzeigen Ja/Nein Dim bMitAbsenderAbSeite2 as bool = JA 'Position Absender links Dim nAbsenderLinks as Numeric = nRandLinks 'Position Absender oben Dim nAbsenderOben as Numeric = nRandOben + 3 cm 'Schriftparameter für Absender Dim SchriftFontAbsender as String = "Arial" Dim SchriftGroesseAbsender as numeric = 9 Dim SchriftTypAbsender as numeric = FONT_NORMAL Dim SchriftFarbeAbsender as numeric = COLOR_BLACK 'Schriftart für Absender Dim SchriftArtAbsender as FontType = CreateFont(SchriftFontAbsender, SchriftGroesseAbsender, SchriftTypAbsender, SchriftFarbeAbsender) 'Sichtfenster auf Seite 1 anzeigen Ja/Nein Dim bMitSichtfensterAufSeite1 as bool = JA 'Sichtfenster ab Seite 2 anzeigen Ja/Nein Dim bMitSichtfensterAbSeite2 as bool = JA 'Position Sichtfenster links Dim nSichtfensterLinks as Numeric = nRandLinks 'Position Sichtfenster oben Dim nSichtfensterOben as Numeric = nRandOben + 4 cm 'Ansprechpartner im Sichtfeld anzeigen Dim bSichtfensterMitAnsprechpartner as bool = JA 'ersetzen durch "NEIN" falls Ansprechpartner 'in Adreßfeld nicht gedruckt werden soll 'Schriftparameter für Sichtfenster Dim SchriftFontSichtfenster as String = "Arial" Dim SchriftGroesseSichtfenster as numeric = 9 Dim SchriftTypSichtfenster as numeric = FONT_NORMAL Dim SchriftFarbeSichtfenster as numeric = COLOR_BLACK 'Schriftart für Sichtfenster Dim SchriftArtSichtfenster as FontType = CreateFont(SchriftFontSichtfenster, SchriftGroesseSichtfenster, SchriftTypSichtfenster, SchriftFarbeSichtfenster) ' Betrefftext auf Seite 1 anzeigen JA/NEIN Dim bMitBetrefftextAufSeite1 as bool = JA ' Betrefftext ab Seite 2 anzeigen JA/NEIN Dim bMitBetrefftextAbSeite2 as bool = JA 'Position Betrefftext links Dim nBetrefftextLinks as Numeric = nRandLinks 'Position Betrefftext oben Dim nBetrefftextOben as Numeric = nRandOben + 7 cm 'Schriftparameter für 1. Betrefftext Dim SchriftFontBetrefftext1 as String = "Arial" Dim SchriftGroesseBetrefftext1 as numeric = 14 Dim SchriftTypBetrefftext1 as numeric = FONT_NORMAL Dim SchriftFarbeBetrefftext1 as numeric = COLOR_BLACK '1. Schriftart für Betrefftext Dim SchriftArtBetrefftext1 as FontType = CreateFont(SchriftFontBetrefftext1, SchriftGroesseBetrefftext1, SchriftTypBetrefftext1, SchriftFarbeBetrefftext1) '2. Schriftart für Betrefftext Dim SchriftArtBetrefftext2 as FontType = ARIAL_9 'Infofeld auf Seite 1 anzeigen Ja/Nein Dim bMitInfofeldAufSeite1 as bool = JA 'Infofeld ab Seite 2 anzeigen Ja/Nein Dim bMitInfofeldAbSeite2 as bool = JA 'Position InfoBlock links Dim nInfoFeldLinks As Numeric = nRandLinks + 12 cm 'Position InfoBlock oben Dim nInfoFeldOben As Numeric = nRandOben + 6 cm 'Breite Infofeld Dim nInfoFeldBreite as Numeric = 5 cm 'Schriftparameter für Infoblock Dim SchriftFontInfofeld as String = "Arial" Dim SchriftGroesseInfofeld as numeric = 9 Dim SchriftTypInfofeld as numeric = FONT_NORMAL Dim SchriftFarbeInfofeld as numeric = COLOR_BLACK 'Schriftart für Infoblock Dim SchriftArtInfofeld as FontType = CreateFont(SchriftFontInfofeld, SchriftGroesseInfofeld, SchriftTypInfofeld, SchriftFarbeInfofeld) 'Seitennummer im Infoblock anzeigen Ja/Nein Dim nInfoFeldMitSeitennummer as bool = JA ' Parameter für den Ausdruck einer Infozeile statt des Infoblocks Dim bInfoZeileStattInfoBlockAbSeite2 As bool = true 'Position InfoZeile oben Dim nInfoZeileOben As Numeric 'Schriftparameter für Infozeile Dim SchriftFontInfozeile as String = "Arial" Dim SchriftGroesseInfozeile as numeric = 9 Dim SchriftTypInfozeile as numeric = FONT_NORMAL Dim SchriftFarbeInfozeile as numeric = COLOR_BLACK 'Firmenlogo auf Seite 1 anzeigen JA/NEIN Dim bMitLogoAufSeite1 as bool = JA 'Firmenlogo ab Seite 2 anzeigen JA/NEIN Dim bMitLogoAbSeite2 as bool = JA 'Quelle Firmenlogo für Formular Dim sFirmenLogoQuelle as String = "" 'Position Firmenlogo links Dim nFirmenLogoLinks as Numeric = nRandLinks + 12 cm 'Position Firmenlogo oben Dim nFirmenLogoOben as Numeric = nRandOben + 3 cm 'Breite Firmenlogo Dim nFirmenLogoBreite as Numeric = 5 cm 'Höhe Firmenlogo Dim nFirmenLogoHoehe as Numeric = 2.5 cm 'Zahlungsbedingungen anzeigen JA/NEIN Dim bMitZahlungsbedingungen as bool = JA 'Zahlungsbedingungen anzeigen JA/NEIN Dim bMitLieferart as bool = JA 'Nachbemerkungen anzeigen JA/NEIN Dim bMitNachbemerkungen as bool = JA ' freies Textfeld für jedes Formular, wird am Ende des Formulars angehängt 'Freies Textfeld im Formular anzeigen JA/NEIN Dim bMitZusatzText as bool = JA 'ZusatzText Dim sZusatzText as String = "" 'Schriftparameter für Zusatztext Dim SchriftFontZusatztext as String = "Arial" Dim SchriftGroesseZusatztext as numeric = 9 Dim SchriftTypZusatztext as numeric = FONT_NORMAL Dim SchriftFarbeZusatztext as numeric = COLOR_BLACK 'Schriftart für Infoblock Dim SchriftArtZusatztext as FontType = CreateFont(SchriftFontZusatztext, SchriftGroesseZusatztext, SchriftTypZusatztext, SchriftFarbeZusatztext) ' werden bereits aus Programm gesteuert 'Schraffur setzen oder nicht JA/NEIN Dim bMitSchraffur as Bool = NEIN 'Farbe der Schraffur im Kopf Dim nSchraffurFarbeKopf as Numeric = COLOR_TRANSPARENT 'Farbe der Schraffur allgemein Dim nSchraffurFarbe as Numeric = COLOR_TRANSPARENT 'Linienart der horizontalen Linien Dim HorzLinienArt as PenType = PEN_SOLID 'Linienart der vertikalen Linien Dim VertLinienArt as PenType = PEN_SOLID 'Farbe der vertikalen Linien Dim nFarbe as Numeric = COLOR_BLACK ' Optionen ' Währung als Text darstellen JA/NEIN ' wenn NEIN, wird Symbol dargestellt ' Symbol Text ' DM DM ' € EUR dim bWaehrungAlsText as bool = NEIN ' der Text für die Darstellung der Ust dim sUstText as string = "Ust." dim sNullBetrag as string = "0,00" 'nCurrencyFormatDefault = CURRENCY_SYMBOL_HIDE 'Ohne Nullbetrag dim strRabatt as string = "" strRabatt = Get(LAY_OPT_RABTEXT) Dim strnameLiefer as string '//////////////////////////////////////////////////////////////////////////////////////////////////// ' die Breiten in Abhängigkeit von Tabellentyp (Auftrag oder Lieferschein), sowie der Tabellennummer ' setzen ' Tabelle_1 mit Pos, Menge, Art.Nr., Text, Einzelpreis, Rabatt, Gesamtpreis if nTabelle = TABELLE_1 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge 'nBreiteSpalte_3 = 2.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_2 mit Pos, Menge, Text, Einzelpreis, Rabatt, Gesamtpreis ' Art.-Nr entfällt, indem Spaltenbreite auf 0 gesetzt wird if nTabelle = TABELLE_2 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_3 mit Pos, Menge, Art.Nr., Text, Einzelpreis, Gesamtpreis ' Rabatt entfällt, indem Spaltenbreite auf 0 gesetzt wird if nTabelle = TABELLE_3 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge 'nBreiteSpalte_3 = 2.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis nBreiteSpalte_6 = 0.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_4 mit Menge, Text, Einzelpreis, Rabatt, Gesamtpreis ' Pos und Art.-Nr entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nTabelle = TABELLE_4 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für einen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben nBreiteSpalte_1 = 0.00 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_5 mit Pos, Menge, Text, Einzelpreis, Gesamtpreis ' Art.-Nr und Rabatt entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nTabelle = TABELLE_5 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis nBreiteSpalte_6 = 0.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_6 mit Menge, Text, Einzelpreis, Gesamtpreis ' Pos, Art.-Nr und Rabatt entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nTabelle = TABELLE_6 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben nBreiteSpalte_1 = 0.00 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis nBreiteSpalte_6 = 0.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_1 mit Pos, Menge, Art.Nr., Text, Einzelpreis, USt., Gesamtpreis if nTabelle = TABELLE_7 then bSteuerStattRabatt = JA ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge 'nBreiteSpalte_3 = 2.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_8 mit Pos, Menge, Text, Einzelpreis, Ust., Gesamtpreis ' Art.-Nr entfällt, indem Spaltenbreite auf 0 gesetzt wird if nTabelle = TABELLE_8 then bSteuerStattRabatt = JA ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_9 mit Menge, Text, Einzelpreis, Ust., Gesamtpreis ' Pos und Art.-Nr entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nTabelle = TABELLE_9 then bSteuerStattRabatt = JA ' wenn anderen Spaltenbreiten für einen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben nBreiteSpalte_1 = 0.00 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a- nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_10 mit Pos, Menge, Art.Nr., Text, Einzelpreis, Rabatt, USt., Gesamtpreis if nTabelle = TABELLE_10 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge 'nBreiteSpalte_3 = 2.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_6a = 2.00cm 'USt. 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_11 mit Pos, Menge, Text, Einzelpreis, Rabatt, Ust., Gesamtpreis ' Art.-Nr entfällt, indem Spaltenbreite auf 0 gesetzt wird if nTabelle = TABELLE_11 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nBreiteSpalte_1 = 0.80 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_6a = 2.00 cm 'USt. 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Tabelle_12 mit Menge, Text, Einzelpreis, Rabatt, Ust., Gesamtpreis ' Pos und Art.-Nr entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nTabelle = TABELLE_12 then bSteuerStattRabatt = NEIN ' wenn anderen Spaltenbreiten für einen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben nBreiteSpalte_1 = 0.00 cm 'Pos 'nBreiteSpalte_2 = 3.00 cm 'Menge nBreiteSpalte_3 = 0.00 cm 'Art.-Nr nBreiteSpalte_8 = 0.00 cm 'Gewicht (eingeschoben) 'nBreiteSpalte_5 = 2.00 cm 'Einzelpreis 'nBreiteSpalte_6 = 2.00 cm 'Rabatt 'nBreiteSpalte_6a = 2.00 cm 'USt. 'nBreiteSpalte_7 = 2.00 cm 'Gesamtpreis ' wenn Autoformat, dann Breite der Textspalte anpassen if bTabelleAutoFormat then nBreiteSpalte_4 = nSeitenBreite - nRandLinks - nRandRechts - nBreiteSpalte_1 - nBreiteSpalte_2 - nBreiteSpalte_3 nBreiteSpalte_4 = nBreiteSpalte_4 - nBreiteSpalte_5 - nBreiteSpalte_6 - nBreiteSpalte_6a - nBreiteSpalte_7 - nBreiteSpalte_8 - 5 end if end if ' Lieferscheintabellen ' Tabelle_1 mit Pos, Menge, Art.Nr., Gewicht(kg), Text if nLieferTabelle = TABELLE_1 then ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nLieferBreiteSpalte_1 = 0.80 cm 'Pos 'nLieferBreiteSpalte_2 = 3.00 cm 'Menge 'nLieferBreiteSpalte_3 = 2.00 cm 'Art.Nr. 'nLieferBreiteSpalte_4 = 3.00 cm 'Gewicht nLieferBreiteSpalte_6 = 0.00 cm 'Einzelpreis nLieferBreiteSpalte_7 = 0.00 cm 'Gesamtpreis if bTabelleAutoFormat then nLieferBreiteSpalte_5 = nSeitenBreite - nRandLinks - nRandRechts - nLieferBreiteSpalte_1 - nLieferBreiteSpalte_2 - nLieferBreiteSpalte_3 - nLieferBreiteSpalte_4 - nLieferBreiteSpalte_6 - nLieferBreiteSpalte_7 - 5 end if end if ' Tabelle_2 mit Pos, Menge, Gewicht(kg), Text ' Art.-Nr entfällt, indem Spaltenbreite auf 0 gesetzt wird if nLieferTabelle = TABELLE_2 then ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nLieferBreiteSpalte_1 = 0.80 cm 'Pos 'nLieferBreiteSpalte_2 = 3.00 cm 'Menge nLieferBreiteSpalte_3 = 0.00 cm 'Art.Nr. 'nLieferBreiteSpalte_4 = 3.00 cm 'Gewicht nLieferBreiteSpalte_6 = 0.00 cm 'Einzelpreis nLieferBreiteSpalte_7 = 0.00 cm 'Gesamtpreis if bTabelleAutoFormat then nLieferBreiteSpalte_5 = nSeitenBreite - nRandLinks - nRandRechts - nLieferBreiteSpalte_1 - nLieferBreiteSpalte_2 - nLieferBreiteSpalte_3 - nLieferBreiteSpalte_4 - nLieferBreiteSpalte_6 - nLieferBreiteSpalte_7 - 5 end if end if ' Tabelle_3 mit Menge, Gewicht(kg), Text ' Art.-Nr und Menge entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nLieferTabelle = TABELLE_3 then ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben nLieferBreiteSpalte_1 = 0.00 cm 'Pos 'nLieferBreiteSpalte_2 = 3.00 cm 'Menge nLieferBreiteSpalte_3 = 0.00 cm 'Art.Nr. 'nLieferBreiteSpalte_4 = 3.00 cm 'Gewicht nLieferBreiteSpalte_6 = 0.00 cm 'Einzelpreis nLieferBreiteSpalte_7 = 0.00 cm 'Gesamtpreis if bTabelleAutoFormat then nLieferBreiteSpalte_5 = nSeitenBreite - nRandLinks - nRandRechts - nLieferBreiteSpalte_1 - nLieferBreiteSpalte_2 - nLieferBreiteSpalte_3 - nLieferBreiteSpalte_4 - nLieferBreiteSpalte_6 - nLieferBreiteSpalte_7 - 5 end if end if ' Tabelle_4 mit Position, Menge, Art.nr, Text ' Art.-Nr und Menge entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nLieferTabelle = TABELLE_4 then ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nLieferBreiteSpalte_1 = 0.80 cm 'Pos 'nLieferBreiteSpalte_2 = 3.00 cm 'Menge 'nLieferBreiteSpalte_3 = 2.00 cm 'Art.Nr. nLieferBreiteSpalte_4 = 0.00 cm 'Gewicht nLieferBreiteSpalte_6 = 0.00 cm 'Einzelpreis nLieferBreiteSpalte_7 = 0.00 cm 'Gesamtpreis if bTabelleAutoFormat then nLieferBreiteSpalte_5 = nSeitenBreite - nRandLinks - nRandRechts - nLieferBreiteSpalte_1 - nLieferBreiteSpalte_2 - nLieferBreiteSpalte_3 - nLieferBreiteSpalte_4 - nLieferBreiteSpalte_6 - nLieferBreiteSpalte_7 - 5 end if end if ' Tabelle_5 mit Position, Menge, Text ' Art.-Nr und Menge entfallen, indem Spaltenbreiten auf 0 gesetzt werden if nLieferTabelle = TABELLE_5 then ' wenn anderen Spaltenbreiten für diesen Tabellentyp gewünscht, dann können die Werte hier ' überschrieben werden, einfach Kommentar entfernen und neue Breite eingeben 'nLieferBreiteSpalte_1 = 0.80 cm 'Pos 'nLieferBreiteSpalte_2 = 3.00 cm 'Menge nLieferBreiteSpalte_3 = 0.00 cm 'Art.Nr. nLieferBreiteSpalte_4 = 0.00 cm 'Gewicht nLieferBreiteSpalte_6 = 0.00 cm 'Einzelpreis nLieferBreiteSpalte_7 = 0.00 cm 'Gesamtpreis if bTabelleAutoFormat then nLieferBreiteSpalte_5 = nSeitenBreite - nRandLinks - nRandRechts - nLieferBreiteSpalte_1 - nLieferBreiteSpalte_2 - nLieferBreiteSpalte_3 - nLieferBreiteSpalte_4 - nLieferBreiteSpalte_6 - nLieferBreiteSpalte_7 - 5 end if end if '/////////////////////////////////////////////////////////////////////////////////////// 'Hilfsvariablen für die Formulargestaltung Dim KopfLinien as PenType ' die Stärke der Linie Dim nRand as Numeric Dim nGewicht as Numeric Dim nGewichtSumme as Numeric Dim n as Numeric Dim Formulartitel as String Dim FormatMenge as String Dim strPuffer as String Dim strTemp as string dim strUstForderung as numeric dim nTemp1 as numeric dim nTemp2 as numeric dim nTemp1x as numeric dim nTemp2x as numeric dim strTemp2x as string = "" dim strUstAbschlag as numeric Dim nPosition as Numeric Dim i as Numeric Dim Feld as Numeric Dim strArtikelNummer as String Dim strFirmenanschrift as String Dim strTelFax as string Dim Result_P as Bool Dim Result_R as Bool Dim Result_G as Bool Dim nBetrag as Numeric Dim nSumme as Numeric Dim nBreite as Numeric Dim nBreite1 as Numeric Dim strGewicht as String Dim strProzent as String Dim nLinienPos as Numeric Dim Steuern as Bool Dim Nebenleistung as Bool = False ' Hilfsvariablen für die Ausgabe der Steuern Dim nNetTeilsum as Numeric Dim nBrutTeilsum as Numeric Dim nUstsum as Numeric Dim nUstsatz as Numeric ' aktuelle Seite, wenn Druck Auftragsliste Dim nAuftragPage as numeric = 0 Dim fResetPage as Bool = false ' aktuelle interne Auftragsnummer Dim nAuftragNr as numeric = -1 Dim sAuftrag as string = "" '/////////////////////////////////////////////////////////////////////////////////// 'Variablen für die Tabellen 'Definition der Überschriftenzeile der Tabelle Dim C_H_Head as CellType 'Die erste Zeile der Überschriftenzeile Dim C_H_Zeile as CellType Dim C_HU_Zeile as CellType 'Die Zellen der Überschriftenzeile Dim C_H_Spalte_1 as Celltype Dim C_H_Spalte_2 as Celltype Dim C_H_Spalte_3 as Celltype Dim C_H_Spalte_8 as Celltype 'Gewicht eingeschoben Dim C_H_Spalte_4 as Celltype Dim C_H_Spalte_5 as Celltype Dim C_H_Spalte_6 as CellType Dim C_H_Spalte_6a as CellType Dim C_H_Spalte_7 as Celltype 'Definiton der Zelle des Tabellenkörpers Dim C_Zeile as CellType Dim C_Zeile_s as CellType 'Definition der Zellen in einer Tabellenzeile Dim C_Spalte_1 as CellType Dim C_Spalte_2 as CellType Dim C_Spalte_3 as CellType Dim C_Spalte_4 as CellType Dim C_Spalte_9 as CellType 'Gewicht eingeschoben Dim C_Spalte_5 as CellType Dim C_Spalte_6 as CellType Dim C_Spalte_7 as CellType Dim C_Spalte_7a as CellType Dim C_Spalte_8 as CellType 'Definition der Spalten für die Stücklistenartikel Dim C_Spalte_1s as CellType Dim C_Spalte_2s as CellType Dim C_Spalte_3s as CellType Dim C_Spalte_4s as CellType Dim C_Spalte_9s as CellType 'Gewicht eingeschoben Dim C_Spalte_5s as CellType Dim C_Spalte_6s as CellType Dim C_Spalte_7s as CellType Dim C_Spalte_7sa as CellType Dim C_Spalte_8s as CellType 'Definition der Summenzeile Dim C_S_Zeile as CellType Dim C_S_Gesamt as CellType Dim C_S_Noetig as CellType Dim C_S_Abschlag as CellType Dim C_S_Forder as CellType Dim C_S_SteuerBruttoText as CellType Dim C_S_Steuerbrutto as CellType Dim C_S_Not_Spalte_1 as CellType Dim C_S_Not_Spalte_2 as CellType 'Definiton der Zellen in der Summenzeile Dim C_S_SteuerBruttoText_1 as CellType Dim C_S_Steuerbrutto_1 as CellType Dim C_S_Steuerbrutto_2 as CellType Dim C_S_Steuerbrutto_3 as CellType Dim C_S_Steuerbrutto_4 as CellType Dim C_S_Steuerbrutto_5 as CellType Dim C_S_Steuerbrutto_6 as CellType Dim C_S_Spalte_1 as CellType Dim C_S_Spalte_1a as CellType Dim C_S_Spalte_1b as CellType Dim C_S_Spalte_1x as CellType Dim C_S_Spalte_1y as CellType Dim C_S_Spalte_2 as CellType Dim C_S_Spalte_3 as CellType Dim C_S_Spalte_4 as CellType Dim C_S_Text as CellType Dim C_S_Text_2 as CellType Dim C_S_Text_3 as CellType Dim C_S_Text_4 as CellType Dim C_S_Forder_1 as CellType Dim C_S_Forder_2 as CellType Dim C_S_Forder_3 as CellType Dim C_S_Forder_4 as CellType 'Definition der Zellen für den Übertrag Dim C_HU_Spalte_1 as CellType Dim C_HU_Spalte_2 as CellType Dim C_S_Bottom as CellType Dim C_S_TOP as CellType ' Hilfsvariablen für die Ausgabe der Steuern Dim C_S_Steuern as CellType Dim C_S_St_Spalte_1 as CellType Dim C_S_St_Spalte_1a as CellType Dim C_S_St_Spalte_2 as CellType Dim C_S_St_Spalte_3 as CellType Dim C_S_St_Spalte_4 as CellType Dim C_S_St_Spalte_5 as CellType Dim C_S_St_Spalte_6 as CellType ' Hilfsvariablen für die Ausgabe der Steuern Brutto Dim C_S_SteuernBrutto as CellType Dim C_S_St_Spalte_1b as CellType Dim C_S_St_Spalte_2b as CellType Dim C_S_St_Spalte_3b as CellType Dim C_S_St_Spalte_4b as CellType Dim C_S_St_Spalte_5b as CellType Dim C_S_St_Spalte_6b as CellType Dim nBreit_1 as Numeric Dim nBreit_1a as Numeric Dim nBreit_2 as Numeric Dim nBreit_3 as Numeric Dim nBreit_4 as Numeric Dim nBreit_5 as Numeric Dim Betrag as Numeric '/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// '-------------------------------------- Variablen Init------------------------------------------ ' überschreibt Standardvorgaben für die Formulargestaltung mit Programmwerten aus der Faktura if LAYOUT_DURCH_PROGRAMM then Include "pcfkini.lsf" end if Include "GiroCode_common.inc.lsf" ' In der Tabelle Währung direkt an Betrag anhängen Dim nCurrencySymbol as numeric = CURRENCY_SYMBOL_HIDE Dim nCurrencyFormat as numeric if is(DV_FREIMACHUNG) then 'Schriftart für Absender und Sichtfenster setzen SchriftArtAbsender = CreateFont("Arial", 9, FONT_NORMAL, COLOR_BLACK) 'keine Marken am linken Rand bFalzmarkeOben = False bFalzmarkeUnten = False bLochmarke = False end if 'Schriftart für Infoblock Dim SchriftArtInfozeile as FontType = CreateFont(SchriftFontInfozeile, SchriftGroesseInfozeile, SchriftTypInfozeile, SchriftFarbeInfozeile) Include "SepaPreNotification.lsf" Include "layout.inc.lsf" 'Nachkommastellen bei Mengenangaben setzen if (bMitNachKommaBeiMenge) then FormatMenge = "%." + FormatNumeric("%1.0f", GetNumeric(FA_NACHKOMMAST_MENGE)) + "f" else FormatMenge = "%.0f" End if ' wenn die Faktura nicht mit einem Formularassi arbeiten, oder es keine LayoutInit durch das Programm gibt, ' dann müssen diese Werte aus einem anderen Bereich von der Faktura geholt werden if IS("L", 300) = FALSE or LAYOUT_DURCH_PROGRAMM = NEIN then 'Farbe der Schraffur im Kopf nSchraffurFarbeKopf = GetNumeric(ALLG_TABKOPF_HINTER_FARBE) 'Schraffur setzen oder nicht JA/NEIN bMitSchraffur = IS(ALLG_MIT_SCHRAFFUR) 'Farbe der Schraffur If bMitSchraffur Then nSchraffurFarbe = GetNumeric(ALLG_SCHRAFFUR_FARBE) else nSchraffurFarbe = COLOR_TRANSPARENT End If If nSchraffurFarbe = COLOR_WHITE Then nSchraffurFarbe = COLOR_TRANSPARENT End If 'Linienart der horizontalen Linien If is(ALLG_MIT_HORZ_LINIEN) Then HorzLinienArt = GetNumeric(ALLG_HORZ_LINIENART) else HorzLinienArt = PEN_NULL End If 'Linienart der vertikalen Linien If is(ALLG_MIT_VERT_LINIEN) Then VertLinienArt = GetNumeric(ALLG_VERT_LINIENART) nFarbe = COLOR_BLACK else VertLinienArt = PEN_NULL nFarbe = COLOR_TRANSPARENT End If ' Schriftart Spaltenkopf SchriftFontSpaltenKopf = "Arial" SchriftGroesseSpaltenKopf = 9 SchriftTypSpaltenKopf = FONT_BOLD SchriftFarbeSpaltenKopf = GetNumeric(ALLG_TABKOPF_TEXT_FARBE) SchriftArtSpaltenKopf = CreateFont(SchriftFontSpaltenKopf, SchriftGroesseSpaltenKopf, SchriftTypSpaltenKopf, SchriftFarbeSpaltenKopf) end if '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - PrintSichtfenster 'Sichtfenster formatieren und ausgeben '///////////////////////////////////////////////////////////// Include "Sichtfenster.inc.lsf" '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - PrintBetreffText 'BetreffText formatieren und ausgeben '///////////////////////////////////////////////////////////// dim Status as numeric Function PrintBetreffText(Schriftart1 as FontType, Schriftart2 as FontType) ' Text für die Auftragsart ' dim sAuftrag as string = "" ' überprüfen, ob Absender noch auf erste Seite passt Dim MaximaleHoehe as numeric = GetAreaLength() - 4 cm if nBetrefftextOben > MaximaleHoehe then nBetrefftextOben = MaximaleHoehe end if 'Position bezogen auf Seitenmaße if is(DV_FREIMACHUNG) then 'Poststelle: Betreffzeile hat Mindestabstand von oben! if nBetrefftextOben < nPostelleBetreffTextOben then nBetrefftextOben = nPostelleBetreffTextOben end if if nBetrefftextLinks < nRandLinks then nBetrefftextLinks = nRandLinks end if end if SetPos(nBetrefftextLinks-nRandLinks, nBetrefftextOben-nRandOben) sAuftrag = Get(AUFTR_AUFTRAG_TEXT) SelectFont(Schriftart1) Status = GetNumeric("R",27) if bBetreffMitAuftrnummer then if bStatusGedruckt then if GetFlag( 0x0008, Status ) then TL(sAuftrag + " Nr. " + FormatNumeric("%.0f", GetNumeric(AUFTR_BELEG_NR)) + sTextGedruckt) else TL(sAuftrag + " Nr. " + FormatNumeric("%.0f", GetNumeric(AUFTR_BELEG_NR))) end if else TL(sAuftrag + " Nr. " + FormatNumeric("%.0f", GetNumeric(AUFTR_BELEG_NR))) end if else if bStatusGedruckt then if GetFlag( 0x0008, Status ) then TL(sAuftrag + sTextGedruckt) else TL(sAuftrag) end if else TL(sAuftrag) end if end if PrintBetreffWeitergefuehrt(Schriftart2) SetWordWrap(TRUE) if nAuftragPage = 1 then SelectFont(Schriftart2) PrintBetreffLeistungsDatumZeitraum() end if ' Ausgabe der Auftragsbeschreibung nur auf der 1. Seite if nAuftragPage = 1 then SelectFont(Schriftart2) LF if bBetreffMitLieferadresse and is(AUFTR_IST_STORNO) = false then if is(AUFTR_IST_LS) = false Then LieferadresseAusgeben() else RechnungsadresseAusgeben() end if end if '///////////////////////////////////////////////////////////////////////////////////////////////////7 'aus Auftragsfreifelder If (IS(MIT_AFREIFELD1)) AND (GetNumeric(LAY_COMBO_FF1) = 1) AND (Get(AUFTR_FREIFELD1 ) <> "") then If Get(TEXT_AFREIFELD1 ) <> "" then TL(Get(TEXT_AFREIFELD1 ) + ": " + Get(AUFTR_FREIFELD1)) else TL(Get(AUFTR_FREIFELD1)) end if end if If (IS(MIT_AFREIFELD2)) AND (GetNumeric(LAY_COMBO_FF2) = 1) AND (Get(AUFTR_FREIFELD2 ) <> "") then If Get(TEXT_AFREIFELD2 ) <> "" then TL(Get(TEXT_AFREIFELD2 ) + ": " + Get(AUFTR_FREIFELD2)) else TL(Get(AUFTR_FREIFELD2)) end if end if If (IS(MIT_AFREIFELD3)) AND (GetNumeric(LAY_COMBO_FF3) = 1) AND (Get(AUFTR_FREIFELD3 ) <> "") then If Get(TEXT_AFREIFELD3) <> "" then TL(Get(TEXT_AFREIFELD3 ) + ": " + Get(AUFTR_FREIFELD3)) else TL(Get(AUFTR_FREIFELD3)) end if end if If (IS(MIT_AFREIFELD4)) AND (GetNumeric(LAY_COMBO_FF10) = 1) AND (Get(AUFTR_FREIFELD4 ) <> "") then If Get(TEXT_AFREIFELD4 ) <> "" then TL(Get(TEXT_AFREIFELD4 ) + ": " + Get(AUFTR_FREIFELD4)) else TL(Get(AUFTR_FREIFELD4)) end if end if If (IS(MIT_AFREIFELD5)) AND (GetNumeric(LAY_COMBO_FF11) = 1) AND (Get(AUFTR_FREIFELD5 ) <> "") then If Get(TEXT_AFREIFELD5 ) <> "" then TL(Get(TEXT_AFREIFELD5 ) + ": " + Get(AUFTR_FREIFELD5)) else TL(Get(AUFTR_FREIFELD5)) end if end if If (IS(MIT_AFREIFELD6)) AND (GetNumeric(LAY_COMBO_FF12) = 1) AND (Get(AUFTR_FREIFELD6 ) <> "") then If Get(TEXT_AFREIFELD6) <> "" then TL(Get(TEXT_AFREIFELD6 ) + ": " + Get(AUFTR_FREIFELD6)) else TL(Get(AUFTR_FREIFELD6)) end if end if if GetNumeric("K", 37) = 0 then 'aus Kundendaten If (IS(MIT_KFREIFELD1)) AND (GetNumeric(LAY_COMBO_FF4) = 1) AND (Get(KD_FREIFELD1 ) <> "") then If Get(TEXT_KFREIFELD1 ) <> "" then TL(Get(TEXT_KFREIFELD1 ) + ": " + Get(KD_FREIFELD1)) else TL(Get(KD_FREIFELD1)) end if end if If (IS(MIT_KFREIFELD2)) AND (GetNumeric(LAY_COMBO_FF5) = 1) AND (Get(KD_FREIFELD2 ) <> "") then If Get(TEXT_KFREIFELD2 ) <> "" then TL(Get(TEXT_KFREIFELD2 ) + ": " + Get(KD_FREIFELD2)) else TL(Get(KD_FREIFELD2)) end if end if If (IS(MIT_KFREIFELD3)) AND (GetNumeric(LAY_COMBO_FF6) = 1)AND (Get(KD_FREIFELD3 ) <> "") then if Get(TEXT_KFREIFELD3 ) <> "" then TL(Get(TEXT_KFREIFELD3 ) + ": " + Get(KD_FREIFELD3)) else TL(Get(KD_FREIFELD3)) end if end if If (IS(MIT_KFREIFELD4)) AND (GetNumeric(LAY_COMBO_FF13) = 1) AND (Get(KD_FREIFELD4 ) <> "") then If Get(TEXT_KFREIFELD4 ) <> "" then TL(Get(TEXT_KFREIFELD4 ) + ": " + Get(KD_FREIFELD4)) else TL(Get(KD_FREIFELD4)) end if end if If (IS(MIT_KFREIFELD5)) AND (GetNumeric(LAY_COMBO_FF14) = 1) AND (Get(KD_FREIFELD5 ) <> "") then If Get(TEXT_KFREIFELD5 ) <> "" then TL(Get(TEXT_KFREIFELD5 ) + ": " + Get(KD_FREIFELD5)) else TL(Get(KD_FREIFELD5)) end if end if If (IS(MIT_KFREIFELD6)) AND (GetNumeric(LAY_COMBO_FF15) = 1)AND (Get(KD_FREIFELD6 ) <> "") then if Get(TEXT_KFREIFELD6 ) <> "" then TL(Get(TEXT_KFREIFELD6 ) + ": " + Get(KD_FREIFELD6)) else TL(Get(KD_FREIFELD6)) end if end if else 'aus Lieferantendaten '/////////////////////////// If (IS(MIT_LFREIFELD1)) AND (GetNumeric(LAY_COMBO_FF7) = 1) AND (Get(KD_FREIFELD1 ) <> "") then if Get(TEXT_LFREIFELD1 ) <> "" then TL(Get(TEXT_LFREIFELD1 ) + ": " + Get(KD_FREIFELD1)) else TL(Get(KD_FREIFELD1)) end if end if If (IS(MIT_LFREIFELD2))AND (GetNumeric(LAY_COMBO_FF8) = 1) AND (Get(KD_FREIFELD2 ) <> "")then if Get(TEXT_LFREIFELD2 ) <> "" then TL(Get(TEXT_LFREIFELD2 ) + ": " + Get(KD_FREIFELD2)) else TL(Get(KD_FREIFELD2)) end if end if If (IS(MIT_LFREIFELD3))AND(GetNumeric(LAY_COMBO_FF9) = 1) AND (Get(KD_FREIFELD3 ) <> "")then if Get(TEXT_LFREIFELD3 ) <> "" then TL(Get(TEXT_LFREIFELD3 ) + ": " + Get(KD_FREIFELD3)) else TL(Get(KD_FREIFELD3)) end if end if If (IS(MIT_LFREIFELD4)) AND (GetNumeric(LAY_COMBO_FF16) = 1) AND (Get(KD_FREIFELD4 ) <> "") then if Get(TEXT_LFREIFELD4 ) <> "" then TL(Get(TEXT_LFREIFELD4 ) + ": " + Get(KD_FREIFELD4)) else TL(Get(KD_FREIFELD4)) end if end if If (IS(MIT_LFREIFELD5))AND (GetNumeric(LAY_COMBO_FF17) = 1) AND (Get(KD_FREIFELD5 ) <> "")then if Get(TEXT_LFREIFELD5 ) <> "" then TL(Get(TEXT_LFREIFELD5 ) + ": " + Get(KD_FREIFELD5)) else TL(Get(KD_FREIFELD5)) end if end if If (IS(MIT_LFREIFELD6))AND(GetNumeric(LAY_COMBO_FF18) = 1) AND (Get(KD_FREIFELD6 ) <> "")then if Get(TEXT_LFREIFELD6 ) <> "" then TL(Get(TEXT_LFREIFELD6 ) + ": " + Get(KD_FREIFELD6)) else TL(Get(KD_FREIFELD6)) end if end if end if '////////////////////////////////////// TL(Get(AUFTR_BESCHR_ALL)) LF end if ' wieder Standardschriftart SelectFont(SchriftArtStandard) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - SteuernAusgabeNetto 'Hilfsfunktion für die Ausgabe der Steuern '///////////////////////////////////////////////////////////// Function SteuernAusgabe(n1 as Numeric, n2 as Numeric, n3 as Numeric, Gesamt as Numeric, nBreit_6 as Numeric, Font as FontType, VertLinie as PenType, Summe ref Numeric) C_S_Steuern = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) HandleLayout(C_S_Steuern, False, COLOR_TRANSPARENT, Font, PEN_NULL, VertLinie, 0) ' Immer wie Einzelpreis nBreit_2 = 250 ' Immer wie Gesamtpreis nBreit_3 = nBreiteSpalte_7 ' Breite der Spalte 1 entspricht immer der Gesamtbreite abzüglich Einzelpreis und Gesamtpreis nBreit_1 = Gesamt - nBreit_3 - nBreit_2 C_S_St_Spalte_1 = GetFormatCell(nBreit_1, 0, C_S_Steuern, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_1, Font, CELL_TEXT_LEFT, -1) C_S_St_Spalte_2 = GetFormatCell(nBreit_2, 0, C_S_Steuern, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_2, Font, CELL_TEXT_RIGHT, -1) C_S_St_Spalte_3 = GetFormatCell(nBreit_3, 0, C_S_Steuern, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_3, Font, CELL_TEXT_RIGHT, -1) SetCellBorder(C_S_St_Spalte_3, CELL_BORDER_LEFT, 0, VertLinie, COLOR_BLACK) dim szTemp as string = "zzgl. " + FormatNumeric("%.2f", GetNumeric("R", n1)) + " % " + sUstText + " auf" if n1 > 80 Then szTemp = szTemp + " Nebenleistungen" End if SetCellText(C_S_St_Spalte_1, szTemp ) If n2 <> 0 Then 'if nBreiteSpalte_5 > 0 Then SetCellText(C_S_St_Spalte_2, HCS(GetCurrencyFormat("R", n2, CC_ORG, nCurrencyFormatDefault))) 'end if End If SetCellText(C_S_St_Spalte_3, HCS(GetCurrencyFormatValue("R", n3, CC_ORG, nCurrencyFormatDefault, Betrag))) Summe = Summe + Betrag DrawCell(C_S_Steuern, true) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - SteuerfreiNetto 'Hilfsfunktion für die Ausgabe von steuerfreien Leistungen '///////////////////////////////////////////////////////////// Function Steuerfrei(n1 as Numeric, Gesamt as Numeric, nBreit_6 as Numeric, Font as FontType, VertLinie as PenType) ' Immer wie Einzelpreisspalte nBreit_4 = 250 ' Breite der Spalte 5 ist nur zum Formatieren, immer wie Rabattspalte und Einzelpreis nBreit_5 = 450 ' Immer wie Gesamtpreis nBreit_6 = nBreiteSpalte_7 ' was übrigbleibt nBreit_1 = Gesamt - nBreit_4 - nBreit_5 - nBreit_6 C_S_Steuern = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) HandleLayout(C_S_Steuern, False, COLOR_TRANSPARENT, Font, PEN_NULL, VertLinie, 0) C_S_St_Spalte_1 = GetFormatCell(nBreit_1, 0, C_S_Steuern, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_1, Font, CELL_TEXT_LEFT, -1) C_S_St_Spalte_4 = GetFormatCell(nBreit_4, 0, C_S_Steuern, C_C_S_SPALTE) C_S_St_Spalte_5 = GetFormatCell(nBreit_5, 0, C_S_Steuern, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_5, Font, CELL_TEXT_RIGHT, -1) C_S_St_Spalte_6 = GetFormatCell(nBreit_6, 0, C_S_Steuern, C_C_S_SPALTE) SetCellBorder(C_S_ST_Spalte_6, CELL_BORDER_LEFT, 0, VertLinie, COLOR_BLACK) SetCellStandard(C_S_St_Spalte_4, Font, CELL_TEXT_RIGHT, -1) If n1 > 100 Then SetCellText(C_S_St_Spalte_1, "steuerfreie Nebenleistungen" + sGrundstfrei ) Else If n1 <> 0 Then SetCellText(C_S_St_Spalte_1, "steuerfrei" + sGrundstfrei ) Else SetCellText(C_S_ST_Spalte_1, "Gesamt steuerfrei" + sGrundstfrei ) End If End If 'if nBreiteSpalte_5 > 0 Then SetCellText(C_S_St_Spalte_5, HCS(GetCurrencyFormat("R", n1, CC_ORG, nCurrencyFormatDefault))) 'end if ' SetCellBorder(C_S_Steuern, CELL_BORDER_BOTTOM, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen if b13Umsatzsteuer = false then DrawCell(C_S_Steuern, true) end if End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - SteuernAusgabeBrutto 'Hilfsfunktion für die Ausgabe der Steuern '///////////////////////////////////////////////////////////// Function SteuernAusgabeBrutto(n1 as Numeric, n2 as Numeric, n3 as Numeric, n4 as Numeric, Gesamt as Numeric, nBreit_6 as Numeric, Font as FontType, VertLinie as PenType, Summe ref Numeric) C_S_SteuernBrutto = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) HandleLayout(C_S_SteuernBrutto, False, COLOR_TRANSPARENT, Font, PEN_NULL, VertLinie, 0) ' Breite der Spalte 1 entspricht immer der Gesamtbreite abzüglich Einzelpreis und Gesamtpreis nBreit_1 = 150 nBreit_1a = 500 ' Immer wie Einzelpreis nBreit_2 = 250 ' Immer wie Gesamtpreis nBreit_3 = nBreiteSpalte_7 nBreit_4 = Gesamt - nBreit_3 - nBreit_2 - 650 C_S_St_Spalte_1 = GetFormatCell(nBreit_1, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_1, Font, CELL_TEXT_RIGHT, -1) C_S_St_Spalte_1a = GetFormatCell(nBreit_1a, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_1a, Font, CELL_TEXT_LEFT, -1) C_S_St_Spalte_2 = GetFormatCell(nBreit_2, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellBorder(C_S_St_Spalte_3, CELL_BORDER_LEFT, 0, PEN_NULL, COLOR_Transparent) SetCellStandard(C_S_St_Spalte_2, Font, CELL_TEXT_RIGHT, -1) C_S_St_Spalte_3 = GetFormatCell(nBreit_3, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_3, Font, CELL_TEXT_RIGHT, -1) SetCellBorder(C_S_St_Spalte_3, CELL_BORDER_LEFT, 0, PEN_NULL, COLOR_Transparent) C_S_St_Spalte_4 = GetFormatCell(nBreit_4, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_4, Font, CELL_TEXT_LEFT, -1) dim szTemp as string = FormatNumeric("%.2f", GetNumeric("R", n1)) + " % " SetCellText(C_S_St_Spalte_1, szTemp ) if n1 > 80 Then szTemp = sUstText + " aus Nebenleistungen" Else szTemp = sUstText + " aus" End if SetCellText(C_S_St_Spalte_1a, szTemp ) If n2 <> 0 Then 'if nBreiteSpalte_5 > 0 Then SetCellText(C_S_St_Spalte_2, HCS(GetCurrencyFormat("R", n2, CC_ORG, nCurrencyFormatDefault))) 'end if End If SetCellText(C_S_St_Spalte_3, HCS(GetCurrencyFormatValue("R", n3, CC_ORG, nCurrencyFormatDefault, Betrag))) SetCellText(C_S_St_Spalte_4, " Netto = " + HCS(GetCurrencyFormatValue("R", n4, CC_ORG, nCurrencyFormatDefault, Betrag))) Summe = Summe + Betrag SetCellBorder(C_S_SteuernBrutto, CELL_BORDER_LEFT + CELL_BORDER_RIGHT , 1, VertLinienArt, COLOR_BLACK) 'Zeile mit Rahmen DrawCell(C_S_SteuernBrutto, true) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - SteuerfreiBrutto 'Hilfsfunktion für die Ausgabe von steuerfreien Leistungen '///////////////////////////////////////////////////////////// Function SteuerfreiBrutto(n1 as Numeric, Gesamt as Numeric, nBreit_6 as Numeric, Font as FontType, VertLinie as PenType) ' Immer wie Einzelpreisspalte nBreit_1 = 650 nBreit_4 = 250 ' Breite der Spalte 5 ist nur zum Formatieren, immer wie Rabattspalte und Einzelpreis ' nBreit_5 = 400 ' Immer wie Gesamtpreis ' nBreit_6 = 0 ' was übrigbleibt nBreit_5 = Gesamt - nBreit_4 - nBreit_1'- nBreit_5 - nBreit_6 C_S_SteuernBrutto = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) HandleLayout(C_S_SteuernBrutto, False, COLOR_TRANSPARENT, Font, PEN_NULL, VertLinie, 0) C_S_St_Spalte_1 = GetFormatCell(nBreit_1, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_1, Font, CELL_TEXT_LEFT, -1) C_S_St_Spalte_4 = GetFormatCell(nBreit_4, 0, C_S_SteuernBrutto, C_C_S_SPALTE) C_S_St_Spalte_5 = GetFormatCell(nBreit_5, 0, C_S_SteuernBrutto, C_C_S_SPALTE) SetCellStandard(C_S_St_Spalte_5, Font, CELL_TEXT_RIGHT, -1) ' C_S_St_Spalte_6 = GetFormatCell(nBreit_6, 0,C_S_SteuernBrutto, C_C_S_SPALTE) ' SetCellBorder(C_S_ST_Spalte_6, CELL_BORDER_LEFT, 0, VertLinie, COLOR_BLACK) SetCellStandard(C_S_St_Spalte_4, Font, CELL_TEXT_RIGHT, -1) If n1 > 100 Then SetCellText(C_S_St_Spalte_1, "steuerfreie Nebenleistungen" + sGrundstfrei ) Else If n1 <> 0 Then SetCellText(C_S_St_Spalte_1, "steuerfrei" + sGrundstfrei ) Else SetCellText(C_S_ST_Spalte_1, "Gesamt steuerfrei" + sGrundstfrei ) End If End If 'if nBreiteSpalte_5 > 0 then SetCellText(C_S_St_Spalte_4, HCS(GetCurrencyFormat("R", n1, CC_ORG, nCurrencyFormatDefault))) SetCellText(C_S_St_Spalte_5, "") 'end if ' SetCellBorder(C_S_SteuernBrutto, CELL_BORDER_BOTTOM, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen SetCellBorder(C_S_SteuernBrutto, CELL_BORDER_LEFT + CELL_BORDER_RIGHT , 1, VertLinienArt, COLOR_BLACK) 'Zeile mit Rahmen if b13Umsatzsteuer = false then DrawCell(C_S_SteuernBrutto, true) end if End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - ZaehleSteuersaetze 'Hilfsfunktion für die Ermittlung der Anzahl der Steuersätze, wird für die Berechnung der Ausgabe benötigt '///////////////////////////////////////////////////////////// Function ZaehleSteuersaetze() as Numeric ZaehleSteuerSaetze = 0 If GetNumeric("R", 53) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 54) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 55) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 56) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 57) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 98) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 99) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 100) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 101) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If If GetNumeric("R", 102) <> 0 Then ZaehleSteuersaetze = ZaehleSteuersaetze + 1 End If End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - ZaehleSteuersaetze 'Hilfsfunktion für die Ermittlung der Anzahl der Steuersätze, wird für die Berechnung der Ausgabe benötigt '///////////////////////////////////////////////////////////// Function ZaehleSteuersaetzeBrutto() as Numeric ZaehleSteuersaetzeBrutto = 0 If GetNumeric("R", 58) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 59) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 60) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 61) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 62) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 103) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 104) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 105) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 106) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If If GetNumeric("R", 107) <> 0 Then ZaehleSteuersaetzeBrutto = ZaehleSteuersaetzeBrutto + 1 End If End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - GetZusatzText 'Hilfsfunktion für die Ermittlung der Zusatztexte für die Fusszeile '///////////////////////////////////////////////////////////// Function GetZusatzText(nNumber as Numeric) as String DIM s as String = "" if nNumber = 1 then s = sFusszeileText1 end if if nNumber = 2 then s = sFusszeileText2 end if if nNumber = 3 then s = sFusszeileText3 end if GetZusatzText = s End Function '////////////////////////////////////////////////////////// 'Auswertung der Combobox aus der freien Kopfzeile '////////////////////////////////////////////////////////// dim strTextLine as string = "" function InhaltCombo(iCbn as numeric, strfreierText as string) if iCbn = 0 then strTextLine = strfreierText else if iCbn = 1 then strTextLine = Get(FA_NAME_1) else if iCbn = 2 then strTextLine = Get(FA_NAME_2) end if if iCbn = 3 then strTextLine = Get(FA_STRASSE) end if if iCbn = 4 then strTextLine = Get(FA_PLZ) + " " + Get(FA_ORT) end if if iCbn = 5 then strTextLine = Get(FA_TEL) end if if iCbn = 6 then strTextLine = Get(FA_FAX) end if if iCbn = 7 then strTextLine = Get(FA_eMAIL) end if end if end if end function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - KopfZeile() 'Kopfzeile einer Seite drucken 'Der Druckbereich ist begrenzt auf den Bereich der in SetHeaderMargin() festgelegt wurde '///////////////////////////////////////////////////////////// Function KopfZeile() Dim bKopfzeileAnzeigen as bool = FALSE Dim nLinksFirst as numeric = nKopfFirstLinks '- nRandLinks Dim nObenFirst as numeric = nKopfFirstOben '- nRandOben Dim nLinksNext as numeric = nKopfNextLinks '- nRandLinks Dim nObenNext as numeric = nKopfNextOben '- nRandOben 'wann darf Kopfzeile angezeigt werden ? if (bMitKopfzeileAufSeite1) and (nAuftragPage <= 1) then bKopfzeileAnzeigen = TRUE end if if (bMitKopfzeileAbSeite2) and (nAuftragPage > 1) then bKopfzeileAnzeigen = TRUE end if Dim iCbn as Numeric = 0 Dim InhaltfreieKopfzeile as numeric Dim strTextLine1 as string Dim strTextLine2 as string Dim strTextLine3 as string Dim strTextLine4 as string Dim strTextLine5 as string Dim strTextLine6 as string Dim strTextLine7 as string Dim strTextLine8 as string Dim strTextLine9 as string Dim strTextLine10 as string strFirmenanschrift = "" if bKopfzeileAnzeigen then if bFreieKopfzeile then include "freieKopfzeile.lsf" else if is("L", 380) = FALSE then 'KOPFZEILE über 1. Zeile und folgende (Blöcke steuern) ' Ausgabe der Zeile 1 mit der gewählten Schriftart SelectFont(SchriftArtKopfzeile) DrawTextExt(nKopfFirstLinks, nKopfFirstOben, Get(FA_NAME_1) + " " + Get(FA_NAME_2)) ' Ausgabe der Zeile 1 mit der gewählten Schriftart SelectFont(SchriftArtKopfFolgende) If Get(FA_STRASSE) <> "" then strFirmenanschrift = Get(FA_STRASSE) + ", " End If If Get(FA_PLZ) <> "" Then strFirmenanschrift = strFirmenanschrift + Get(FA_PLZ) + " " End If If Get(FA_ORT) <> "" Then strFirmenanschrift = strFirmenanschrift + Get(FA_ORT) End If DrawTextExt(nKopfNextLinks, nKopfNextOben, strFirmenanschrift) If Get(FA_TEL) <> "" Then strTelFax = "Tel. " + Get(FA_TEL) + " " End If If Get(FA_FAX) <> "" Then strTelFax = strTelFax + "Fax. " + Get(FA_FAX) + " " End If DrawTextExt(nKopfNextLinks, nKopfNextOben + (GetPosY() + GetLineHeight ()), strTelFax) If Get(FA_eMAIL) <> "" Then DrawTextExt(nKopfNextLinks, nKopfNextOben + (2*(GetPosY() + GetLineHeight ())), "E-Mail: " + Get(FA_eMAIL)) If sKopfzeileText1 <> "" Then DrawTextExt(nKopfNextLinks, nKopfNextOben + (3*(GetPosY() + GetLineHeight ())), Get(LAY_KOPF_TEXT1)) end if else If sKopfzeileText1 <> "" Then DrawTextExt(nKopfNextLinks, nKopfNextOben + (2*(GetPosY() + GetLineHeight ())), Get(LAY_KOPF_TEXT1)) end if End If else 'Kopfzeilenorientierung LINKS, MITTE oder ZENTRIERT if nKopfZeileTextOrientation = LINKS then SetTabs("L") end if if nKopfZeileTextOrientation = RECHTS then SetTabs("R") end if if nKopfZeileTextOrientation = MITTE then SetTabs("C") end if ' Ausgabe der Zeile 1 mit der gewählten Schriftart SelectFont(SchriftArtKopfzeile) TL(Tab + Get(FA_NAME_1) + " " + Get(FA_NAME_2)) ' Schriftart für die folgenden Zeilen if bSchriftArtNurZeile1 = true then SelectFont(SchriftArtStandard) else SelectFont(SchriftArtKopfFolgende) end if If Get(FA_STRASSE) <> "" then strFirmenanschrift = Get(FA_STRASSE) + ", " End If If Get(FA_PLZ) <> "" Then strFirmenanschrift = strFirmenanschrift + Get(FA_PLZ) + " " End If If Get(FA_ORT) <> "" Then strFirmenanschrift = strFirmenanschrift + Get(FA_ORT) End If strFirmenanschrift = strFirmenanschrift + "\n" + Tab If Get(FA_TEL) <> "" Then strFirmenanschrift = strFirmenanschrift + "Tel. " + Get(FA_TEL) + " " End If If Get(FA_FAX) <> "" Then strFirmenanschrift = strFirmenanschrift + "Fax. " + Get(FA_FAX) + " " End If If Get(FA_eMAIL) <> "" Then strFirmenanschrift = strFirmenanschrift + "E-Mail: " + Get(FA_eMAIL) End If strFirmenanschrift = strFirmenanschrift + "\n" + Tab If sKopfzeileText1 <> "" Then SetWordWrap(TRUE) strFirmenanschrift = strFirmenanschrift + Get(LAY_KOPF_TEXT1) end if TL(Tab + strFirmenanschrift) end if end if end if ' Standardschriftart wiederherstellen SelectFont(SchriftArtStandard) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - EventKopfZeile() 'Kopfzeile einer Seite drucken, wird als Eventfunktion nach jedem Seitenwechsel aufgerufen '///////////////////////////////////////////////////////////// Function EventKopfZeile() KopfZeile() End Function ' Ereignishandler für die Kopfzeile setzen ' Dadurch wird Funktion automatisch bei jedem Seitenanfang aufgerufen SetEventHandler(EVENT_PRINT_HEADER, EventKopfZeile) '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - FussZeile() 'Fusszeile einer Seite drucken 'Der Druckbereich ist begrenzt auf den Bereich der in SetFooterMargin() festgelegt wurde '///////////////////////////////////////////////////////////// Function FussZeile() Dim bFusszeileAnzeigen as bool = FALSE Dim sNextText as string = sFusszeileText1 DIM nTextCount as numeric = 1 dim Tab1 as numeric dim Tab2 as numeric dim Tab3 as numeric dim Tab4 as numeric dim strTab as string dim strTab1 as string dim strTab2 as string dim strTab3 as string dim strTab4 as string dim strCol1 as String = "" dim strCol2 as String = "" dim strCol3 as String = "" dim strZeile as String = "" dim strPreText as String = "" dim bHasBank1 as bool = False dim bHasBank2 as bool = False if bMitFussKonto or bMitFussIban or bMitFussBic then If Get(FA_BANK_1) <> "" Then bHasBank1 = True end if If Get(FA_BANK_2) <> "" Then bHasBank2 = True end if if bHasBank1 and bHasBank2 then strPreText = Tab + "Bankverbindungen:" 'Mehrzahl else strPreText = Tab + "Bankverbindung:" end if end if 'wann darf Fußzeile angezeigt werden ? if bMitFusszeileAufSeite1 and nAuftragPage <= 1 then bFusszeileAnzeigen = TRUE end if if bMitFusszeileAbSeite2 and nAuftragPage > 1 then bFusszeileAnzeigen = TRUE end if if bFusszeileAnzeigen then ' die Schrift für die Fusszeile auswählen SelectFont(SchriftArtFusszeile) if bMitFussLinie then DrawLine(1700, GetPosY()) end if lf if bFreieFusszeile then include "freieFusszeile.lsf" else if GetNumeric(LAY_AUSRICHTUNG_OPTION)= 0 then 'Fusszeile zentriert RemoveAllTabs() SetTabs("C") if bHasBank1 or bHasBank2 then TL( Tab + strPreText ) end if if bHasBank1 then '----- BANK 1 ausgeben ----- strZeile = Tab + Get(FA_BANK_1) if bMitFussKonto then strZeile = strZeile + " · BLZ " + Get(FA_BLZ_1) + " · Kto.-Nr. " + Get(FA_KTONR_1) end if if bMitFussKonto then TL( strZeile ) strZeile = "" end if if bMitFussIban And ( Get(FA_IBAN_1) <> "" ) then if strZeile = "" then strZeile = Tab else strZeile = strZeile + " · " end if strZeile = strZeile + "IBAN " + Get(FA_IBAN_1) end if if bMitFussBic And (Get(FA_BIC_1) <> "") then if strZeile = "" then strZeile = Tab else strZeile = strZeile + " · " end if strZeile = strZeile + "BIC " + Get(FA_BIC_1) end if if strZeile <> "" then TL(strZeile) end if end if if bHasBank2 then '----- BANK 2 ausgeben ----- strZeile = Tab + Get(FA_BANK_2) if bMitFussKonto then strZeile = strZeile + " · BLZ " + Get(FA_BLZ_2) + " · Kto.-Nr. " + Get(FA_KTONR_2) end if if bMitFussKonto then TL( strZeile ) strZeile = "" end if if bMitFussIban And ( Get(FA_IBAN_2) <> "" ) then if strZeile = "" then strZeile = Tab else strZeile = strZeile + " · " end if strZeile = strZeile + "IBAN " + Get(FA_IBAN_2) end if if bMitFussBic And (Get(FA_BIC_2) <> "") then if strZeile = "" then strZeile = Tab else strZeile = strZeile + " · " end if strZeile = strZeile + "BIC " + Get(FA_BIC_2) end if if strZeile <> "" then TL(strZeile) end if end if if (bMitFusszeileEGUSTID = True) and (Get(FA_EGID) <> "") Then TL(Tab + "USt-IdNr.: " + Get(FA_EGID)) end if sNextText = GetZusatzText( 1 ) if sNextText <> "" Then TL(Tab + sNextText) end if sNextText = GetZusatzText( 2 ) if sNextText <> "" Then TL(Tab + sNextText) end if sNextText = GetZusatzText( 3 ) if sNextText <> "" Then TL(Tab + sNextText) end if if (bMitFusszeileFzSteuernummer = True) And (Get(FZ_STEUERNUMMER) <> "") Then TL(Tab + "Steuernr: " + Get(FZ_STEUERNUMMER)) end if if bMitFusszeileFzAnschrift Then if Get(FZ_FINAMT_NAME) <> "" then TL(Tab + Get(FZ_FINAMT_NAME) + " · " + Get(FZ_FINAMT_STRASSE) + " · " + GET(FZ_FINAMT_PLZ) + " " + Get(FZ_FINAMT_ORT) ) end if end if if bMitFusszeileFzBankverbindung Then if Get(FZ_FINAMT_BANK) <> "" Then strTemp = Tab + "Bankverbindung-Finanzamt: " + Get(FZ_FINAMT_BANK) if Get(FZ_FINAMT_IBAN) <> "" then strTemp = strTemp + " · IBAN " + Get(FZ_FINAMT_IBAN) end if if Get(FZ_FINAMT_BIC) <> "" then strTemp = strTemp + " · BIC " + Get(FZ_FINAMT_BIC) end if TL(strTemp) end if end if else 'Fusszeile über Blöcke einstellen if GetNumeric(LAY_AUSRICHTUNG_OPTION)= 1 then 'Fusszeile zentriert RemoveAllTabs() Tab1 = GetNumeric("L", 370)* 100 Tab2 = GetNumeric("L", 371)* 100 Tab3 = GetNumeric("L", 372)* 100 Tab4 = GetNumeric("L", 373)* 100 strTab1 = FormatNumeric("%.0f", Tab1) strTab4 = FormatNumeric("%.0f", Tab4) if bhasBank1 = False and bhasBank2 = False then strTab2 = strTab1 strTab3 = strTab1 else strTab2 = FormatNumeric("%.0f", Tab2) strTab3 = FormatNumeric("%.0f", Tab3) end if strTab = "L" + strTab1 + " L" + strTab2 + " L" + strTab3 + " L" + strTab4 SetTabs(strTab) 'Zeile Name if bhasBank1 then strCol1 = Get(FA_BANK_1) end if if bhasBank2 then if bhasBank1 then strCol2 = Get(FA_BANK_2) else strCol1 = Get(FA_BANK_2) strCol2 = " " end if end if if (bMitFusszeileEGUSTID = true) and (Get(FA_EGID) <> "") then strCol3 = "USt-IdNr.: " + Get(FA_EGID) else strCol3 = GetZusatzText( nTextCount ) nTextCount = nTextCount + 1 end if TL( strPreText + Tab + strCol1 + Tab + strCol2 + Tab + strCol3 ) RemoveAllTabs() strTab = "L" + strTab2 + " L" + strTab3 + " L" + strTab4 SetTabs(strTab) 'Zeile BLZ if bMitFussKonto And ((Get(FA_BLZ_1)<>"") Or (Get(FA_BLZ_2)<>"")) then strPreText = "BLZ " if bhasBank1 then strCol1 = strPreText + Get(FA_BLZ_1) end if if bhasBank2 then if bhasBank1 then strCol2 = strPreText + Get(FA_BLZ_2) else strCol1 = strPreText + Get(FA_BLZ_2) strCol2 = " " end if end if strCol3 = GetZusatzText( nTextCount ) nTextCount = nTextCount + 1 TL( Tab + strCol1 + Tab + strCol2 + Tab + strCol3 ) end if 'Zeile Konto if bMitFussKonto And ((Get(FA_KTONR_1)<>"") Or (Get(FA_KTONR_2)<>"")) then strPreText = "Kto.-Nr. " if bhasBank1 then strCol1 = strPreText + Get(FA_KTONR_1) end if if bhasBank2 then if bhasBank1 then strCol2 = strPreText + Get(FA_KTONR_2) else strCol1 = strPreText + Get(FA_KTONR_2) strCol2 = " " end if end if strCol3 = GetZusatzText( nTextCount ) nTextCount = nTextCount + 1 TL( Tab + strCol1 + Tab + strCol2 + Tab + strCol3 ) end if 'Zeile IBAN if bMitFussIban And ((Get(FA_IBAN_1) <> "") Or (Get(FA_IBAN_2) <> "")) then strPreText = "IBAN: " if bhasBank1 then strCol1 = strPreText + Get(FA_IBAN_1) end if if bhasBank2 then if bhasBank1 then strCol2 = strPreText + Get(FA_IBAN_2) else strCol1 = strPreText + Get(FA_IBAN_2) strCol2 = " " end if end if strCol3 = GetZusatzText( nTextCount ) nTextCount = nTextCount + 1 TL( Tab + strCol1 + Tab + strCol2 + Tab + strCol3 ) end if 'Zeile BIC if bMitFussBic And ((Get(FA_BIC_1) <> "") Or (Get(FA_BIC_2) <> "")) then strPreText = "BIC: " if bhasBank1 then strCol1 = strPreText + Get(FA_BIC_1) end if if bhasBank2 then if bhasBank1 then strCol2 = strPreText + Get(FA_BIC_2) else strCol1 = strPreText + Get(FA_BIC_2) strCol2 = " " end if end if strCol3 = GetZusatzText( nTextCount ) nTextCount = nTextCount + 1 TL( Tab + strCol1 + Tab + strCol2 + Tab + strCol3 ) end if if strTab2 = strTab1 then strPreText = Tab + " " else strPreText = Tab + " " + Tab + " " end if while nTextCount < 4 do strCol3 = GetZusatzText( nTextCount ) if strCol3 <> "" then TL( strPreText + Tab + strCol3 ) end if nTextCount = nTextCount + 1 end while if bMitFusszeileFzSteuernummer Then RemoveAllTabs() strTab = "L" + strTab4 SetTabs(strTab) if Get(FZ_STEUERNUMMER) <> "" Then TL(Tab + "Steuernr: " + Get(FZ_STEUERNUMMER)) end if else sNextText = GetZusatzText( nTextCount ) RemoveAllTabs() strTab = "L" + strTab4 SetTabs(strTab) if Get(FA_EGID) = "" then TL(Tab + sNextText + "\n") end if end if RemoveAllTabs() strTab = "L" + strTab1 SetTabs(strTab) if bMitFusszeileFzAnschrift Then if Get(FZ_FINAMT_NAME) <> "" then TL(Tab + "Anschrift-Finanzamt: " + Get(FZ_FINAMT_NAME) + ", " + Get(FZ_FINAMT_STRASSE) + ", " + GET(FZ_FINAMT_PLZ) + " " + Get(FZ_FINAMT_ORT) ) end if end if RemoveAllTabs() strTab = "L" + strTab1 SetTabs(strTab) if bMitFusszeileFzBankverbindung Then if Get(FZ_FINAMT_BANK) <> "" Then strTemp = Tab + "Bankverbindung-Finanzamt: " + Get(FZ_FINAMT_BANK) if Get(FZ_FINAMT_IBAN) <> "" then strTemp = strTemp + " · IBAN " + Get(FZ_FINAMT_IBAN) end if if Get(FZ_FINAMT_BIC) <> "" then strTemp = strTemp + " · BIC " + Get(FZ_FINAMT_BIC) end if TL(strTemp) end if end if else 'oder Logo if GetNumeric(LAY_AUSRICHTUNG_OPTION)= 2 then SetPos(GetPosX(), GetPosY()) DrawImage(nLogohorzFuss-nRandLinks, GetPosY(), nLogoBreiteFuss, nLogoHoeheFuss, strPfadLogoFuss) end if end if end if 'freie Fusszeile end if'("L", 489) end if ' Standardschriftart wiederherstellen SelectFont(SchriftArtStandard) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - EventFussZeile() 'Fusszeile einer Seite drucken, wird als Eventfunktion nach jedem Seitenwechsel aufgerufen '///////////////////////////////////////////////////////////// Function EventFussZeile() Fusszeile() End Function ' Ereignishandler für die FussZeile setzen ' Dadurch wird Funktion automatisch bei jedem Seitenende aufgerufen SetEventHandler(EVENT_PRINT_FOOTER, EventFussZeile) '/////////////////////////////////////////////////////////////////////////////////////////////// 'Funktion - Seitenwechsel 'Funktion wird vor jedem Wechsel der Seite aufgerufen. Es werden alle Elemente außer der Tabelle gedruckt 'Der Druckbereich ist begrenzt auf den Bereich der in SetBodyMargin() festgelegt wurde '///////////////////////////////////////////////////////////// Function Seitenwechsel() DIM nX as numeric DIM nY as numeric ' Seitennummerierung je Auftrag if fResetPage then nAuftragPage = 1 fResetPage = false else nAuftragPage = nAuftragPage + 1 end if ' DIM n as numeric = nRandOben; ' hier den Rumpfbereich wieder an den oberen Rand des Formulars ziehen, damit die nachfolgenden Felder ' nicht tiefer dargestellt werden SetBodyMargin(nRandLinks, nRandOben, nRandRechts, nRandUnten + nFusszeileHoehe + 10) ' Ausgaben für Seite 1 if nAuftragPage = 1 then SetFormatNumericOptions(FN_CUSTOM, "", "") If bMitLogoAufSeite1 then DrawImage(nFirmenLogoLinks-nRandLinks, nFirmenLogoOben-nRandOben, nFirmenLogoBreite, nFirmenLogoHoehe, sFirmenLogoQuelle) End If If bMitLogo2AufSeite1 then DrawImage(nFirmenLogo2Links-nRandLinks, nFirmenLogo2Oben-nRandOben, nFirmenLogo2Breite, nFirmenLogo2Hoehe, sFirmenLogo2Quelle) End If ' Absender anzeigen, wenn ausgewählt if is (FRANKIEREN_MIT_STAMPIT ) = FALSE Then if (bMitAbsenderAufSeite1 AND (is(FRANKIEREN_MIT_INTERNETMARKE)= FALSE))then PrintAbsenderZeile2018() end if else if is (FRANKIEREN_MIT_STAMPIT ) = TRUE Then if bStampitmitAbsender = TRUE then PrintAbsenderZeile2018() end if end if end if 'Absenderzeile / Sichtfenster anzeigen, wenn ausgewählt if is(FRANKIEREN_MIT_STAMPIT ) Then PrintStampit(SchriftArtStamp) else if GetSichtfensterMode() = SichtfensterModeInternetmarke then PrintInternetmarke2018("de", false) else if bMitAbsenderAufSeite1 then PrintAbsenderZeile2018() end if if bMitSichtfensterAufSeite1 then PrintSichtfenster2018(SchriftArtSichtfenster, "de", false) end if end if end if ' Infofeld anzeigen, wenn ausgewählt if bMitInfofeldAufSeite1 then PrintInfoBlock("L" + FormatNumeric("%.0f", nInfofeldLinks-nRandLinks) + "R" + FormatNumeric("%.0f", nInfofeldLinks - nRandLinks + nInfoFeldBreite), SchriftArtInfofeld) end if ' Betrefftext anzeigen, wenn ausgewählt if bMitBetrefftextAufSeite1 then PrintBetreffText(SchriftArtBetrefftext1, SchriftArtBetrefftext2) end if if bFalzmarkeOben then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nFalzmarkeOben, -nRandLinks+80, -nRandOben+nFalzmarkeOben) end if if bFalzmarkeUnten then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nFalzmarkeUnten, -nRandLinks+80, -nRandOben+nFalzmarkeUnten) end if if bLochmarke then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nLochmarke, -nRandLinks+70, -nRandOben+nLochmarke) end if end if ' Ausgaben ab Seite 2 if nAuftragPage > 1 then SetFormatNumericOptions(FN_CUSTOM, "", "") ' Firmenlogo ab Seite 2 anzeigen, wenn ausgewählt If bMitLogoAbSeite2 then DrawImage(nFirmenLogoLinks-nRandLinks, nFirmenLogoOben-nRandOben, nFirmenLogoBreite, nFirmenLogoHoehe, sFirmenLogoQuelle) End If If bMitLogo2AbSeite2 then DrawImage(nFirmenLogo2Links-nRandLinks, nFirmenLogo2Oben-nRandOben, nFirmenLogo2Breite, nFirmenLogo2Hoehe, sFirmenLogo2Quelle) End If ' Absender ab Seite 2 anzeigen, wenn ausgewählt if bMitAbsenderAbSeite2 then PrintAbsenderZeile2018() end if 'Sichtfenster ab Seite 2 anzeigen, wenn ausgewählt if bMitSichtfensterAbSeite2 then PrintSichtfenster2018(SchriftArtSichtfenster, "de", false) end if ' Betrefftext ab Seite 2 anzeigen, wenn ausgewählt if bMitBetrefftextAbSeite2 then PrintBetreffText(SchriftArtBetrefftext1, SchriftArtBetrefftext2) end if ' Infofeld ab Seite 2 anzeigen, wenn ausgewählt ' Infozeile ? if bInfoZeileStattInfoBlockAbSeite2 then PrintInfoZeile() else if bMitInfofeldAbSeite2 then PrintInfoBlock("L" + FormatNumeric("%.0f", nInfofeldLinks-nRandLinks) + "R" + FormatNumeric("%.0f", nInfofeldLinks - nRandLinks + nInfoFeldBreite), SchriftArtInfofeld) end if end if if bFalzmarkeOben then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nFalzmarkeOben, -nRandLinks+80, -nRandOben+nFalzmarkeOben) end if if bFalzmarkeUnten then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nFalzmarkeUnten, -nRandLinks+80, -nRandOben+nFalzmarkeUnten) end if if bLochmarke then SetPen(2, PEN_SOLID, COLOR_BLACK) DrawLineExt(-nRandLinks, -nRandOben+nLochmarke, -nRandLinks+70, -nRandOben+nLochmarke) end if end if End Function '/////////////////////////////////////////////////////////////////////////////////////////////// 'Funktion - EventSeitenwechsel 'Funktion wird vor jedem Wechsel der Seite aufgerufen. 'Der Druckbereich ist begrenzt auf den Bereich der in SetBodyMargin() festgelegt wurde '///////////////////////////////////////////////////////////// Function EventSeitenwechsel() Seitenwechsel() ' obere Position des Rumpfbereichs verändern, damit Tabelle nach unten versetzt dargestellt wird ' Die Augabeposition der Tabelle ab Seite 2 kann nur über diesen Weg verändert werden. if nAuftragPage > 1 then SetBodyMargin(nRandLinks, nTabelleObenAbSeite2, nRandRechts, nRandUnten + nFusszeileHoehe + 10) end if ' wenn Autoformat der Tabelle, dann linke Position bei der Positionnierung der Tabelle ignorieren ' if bTabelleAutoFormat then ' SetBodyMargin(nRandLinks, nTabelleObenAbSeite2, nRandRechts, nRandUnten + nFusszeileHoehe + 10) ' else ' SetBodyMargin(nTabelleLinksAbSeite2, nTabelleObenAbSeite2, nRandRechts, nRandUnten + nFusszeileHoehe + 10) ' end if End Function ' Ereignishandler für Anfang einer Seite setzen ' Dadurch wird Funktion automatisch bei jedem Seitenanfang aufgerufen SetEventHandler(EVENT_START_PAGE, EventSeitenwechsel) function OnUpdate(bLastTableCell as bool) dim strText as String = HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, nSumme)) SetCellStandard(C_S_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_HU_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellText(C_S_Spalte_2, strText) 'Setzen der Zwischensumme SetCellText(C_HU_Spalte_2, strText) 'Setzen des Übertrages end function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - BaueTabelleNetto() 'Erzeugen der Tabelle, wenn NettoAuftrag (mit Spalten und Zeilen) '///////////////////////////////////////////////////////////// Function BaueTabelleNetto() Dim strWaehrung as String = "\n" strProzent = "\n" if bMitWaehrung = FALSE then strWaehrung = strWaehrung + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strProzent = strProzent + "%" end if nBreite = 0 ' wenn obere Postion der Tabelle auf Seite 1 automatisch positioniert werden soll ' dann aktuelle Position abfragen und Tabelle darunter beginnen DIM nTabelleOben as numeric = nTabelleObenAufSeite1-nRandOben DIM nX as numeric DIM nY as numeric if bTabelleObenAufSeite1Auto then GetPos( nX, nY ) nTabelleOben = nY + bTabelleObenAufSeite1AutoAbstand end if ' wenn Autoformat( automatisches Anpassen der Breite), dann linke Position ignorieren if bTabelleAutoFormat then SetPos( 0 , nTabelleOben ) else SetPos( nTabelleLinksAufSeite1-nRandLinks, nTabelleOben ) end if 'Definition der Überschriftenzeile C_H_Head = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT) C_H_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then C_HU_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) end if SetCellBorder(C_H_Head, CELL_BORDER_ALL, 0, PEN_NULL, COLOR_TRANSPARENT) 'Definition der Zeilen im Tabellenkörper 'C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) -ohneZub C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ + CELL_TYPE_BREAK) SetEventHandlerEx(EVENT_UPDATE, OnUpdate, C_Zeile) C_Zeile_s = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) 'Definition der Summenzeilen C_S_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Noetig = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Gesamt = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Abschlag = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) if bMengenSpalteVorEPAuftrag = true then 'Aussehen der Spalten im Tabellenkopf und -körper, wenn sich nicht um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nBreiteSpalte_1, 0, C_H_Zeile, C_C_H_SPALTE) ' "Pos" C_H_Spalte_3 = GetFormatCell(nBreiteSpalte_3, 0, C_H_Zeile, C_C_H_SPALTE) ' "Art.Nr." C_H_Spalte_8 = GetFormatCell(nBreiteSpalte_8, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gewicht" C_H_Spalte_4 = GetFormatCell(nBreiteSpalte_4, 0, C_H_Zeile, C_C_H_SPALTE) ' "Text" C_H_Spalte_2 = GetFormatCell(nBreiteSpalte_2, 0, C_H_Zeile, C_C_H_SPALTE) ' "Menge" C_H_Spalte_5 = GetFormatCell(nBreiteSpalte_5, 0, C_H_Zeile, C_C_H_SPALTE) ' "Einzelpreis" C_H_Spalte_6 = GetFormatCell(nBreiteSpalte_6, 0, C_H_Zeile, C_C_H_SPALTE) ' "Rabatt" C_H_Spalte_6a = GetFormatCell(nBreiteSpalte_6a, 0, C_H_Zeile, C_C_H_SPALTE) ' "USt." C_H_Spalte_7 = GetFormatCell(nBreiteSpalte_7, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gesamtpreis" C_Spalte_1 = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' "Pos" C_Spalte_4 = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' "Art.Nr" C_Spalte_9 = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile, C_C_SPALTE) ' "Gewicht" C_Spalte_5 = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' "Text" C_Spalte_2 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Stk" C_Spalte_3 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Einheit" C_Spalte_6 = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' "Einzelpreis" C_Spalte_7 = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile, C_C_SPALTE) ' "Rabatt" C_Spalte_7a = GetFormatCell(nBreiteSpalte_6a, 0, C_Zeile, C_C_SPALTE) ' "USt." C_Spalte_8 = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile, C_C_SPALTE) ' "Gesamtpreis" C_Spalte_1s = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' "PosStücklistenart." C_Spalte_4s = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' "Art.NrStücklistenart." C_Spalte_9s = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile_s, C_C_SPALTE) ' "GewichtStücklistenart." C_Spalte_5s = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' "TextStücklistenart." C_Spalte_2s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE)' "Menge StkStücklistenart." C_Spalte_3s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE)' "Menge EinheitStücklistenart." C_Spalte_6s = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' "EinzelpreisStücklistenart." C_Spalte_7s = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) ' "RabattStücklistenart." C_Spalte_7sa = GetFormatCell(nBreiteSpalte_6a, 0, C_Zeile_s, C_C_SPALTE) ' "USt." C_Spalte_8s = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) ' "GesamtpreisStücklistenart." else 'Aussehen der Spalten im Tabellenkopf und -körper, wenn sich nicht um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nBreiteSpalte_1, 0, C_H_Zeile, C_C_H_SPALTE) ' "Pos" C_H_Spalte_2 = GetFormatCell(nBreiteSpalte_2, 0, C_H_Zeile, C_C_H_SPALTE) ' "Menge" C_H_Spalte_3 = GetFormatCell(nBreiteSpalte_3, 0, C_H_Zeile, C_C_H_SPALTE) ' "Art.Nr." C_H_Spalte_8 = GetFormatCell(nBreiteSpalte_8, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gewicht" C_H_Spalte_4 = GetFormatCell(nBreiteSpalte_4, 0, C_H_Zeile, C_C_H_SPALTE) ' "Text" C_H_Spalte_5 = GetFormatCell(nBreiteSpalte_5, 0, C_H_Zeile, C_C_H_SPALTE) ' "Einzelpreis" C_H_Spalte_6 = GetFormatCell(nBreiteSpalte_6, 0, C_H_Zeile, C_C_H_SPALTE) ' "Rabatt" C_H_Spalte_6a = GetFormatCell(nBreiteSpalte_6a, 0, C_H_Zeile, C_C_H_SPALTE) ' "USt." C_H_Spalte_7 = GetFormatCell(nBreiteSpalte_7, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gesamtpreis" C_Spalte_1 = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' "Pos" C_Spalte_2 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Stk" C_Spalte_3 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Einheit" C_Spalte_4 = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' "Art.Nr" C_Spalte_9 = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile, C_C_SPALTE) ' "Gewicht" C_Spalte_5 = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' "Text" C_Spalte_6 = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' "Einzelpreis" C_Spalte_7 = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile, C_C_SPALTE) ' "Rabatt" C_Spalte_7a = GetFormatCell(nBreiteSpalte_6a, 0, C_Zeile, C_C_SPALTE) ' "USt." C_Spalte_8 = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile, C_C_SPALTE) ' "Gesamtpreis" C_Spalte_1s = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' "PosStücklistenart." C_Spalte_2s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE) ' "Menge StkStücklistenart." C_Spalte_3s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE) ' "Menge EinheitStücklistenart." C_Spalte_4s = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' "Art.NrStücklistenart." C_Spalte_9s = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile_s, C_C_SPALTE) ' "GewichtStücklistenart." C_Spalte_5s = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' "TextStücklistenart." C_Spalte_6s = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' "EinzelpreisStücklistenart." C_Spalte_7s = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) ' "RabattStücklistenart." C_Spalte_7sa = GetFormatCell(nBreiteSpalte_6a, 0, C_Zeile_s, C_C_SPALTE) ' "USt." C_Spalte_8s = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) ' "GesamtpreisStücklistenart." end if SetCellStandard(C_Spalte_2s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_Spalte_3s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Die Zellen der Übertragzeile nBreite = nBreiteSpalte_1 + nBreiteSpalte_2 + nBreiteSpalte_3 + nBreiteSpalte_4 + nBreiteSpalte_5 + nBreiteSpalte_6 + nBreiteSpalte_6a C_HU_Spalte_1 = GetFormatCell(nBreite, 0, C_HU_Zeile, C_C_S_SPALTE) C_HU_Spalte_2 = GetFormatCell(nBreiteSpalte_7, 0, C_HU_Zeile, C_C_S_SPALTE) 'Zellen der Summenzeile C_S_Spalte_1 = GetFormatCell(nBreite, 0, C_S_Zeile, C_C_S_SPALTE) C_S_Spalte_2 = GetFormatCell(nBreiteSpalte_7, 0, C_S_Zeile, C_C_S_SPALTE) 'Ausrichtung des Textes in der Kopfzeile 'SetCellStandard(C_H_Spalte_2, SchriftArtSpaltenKopf, CELL_TEXT_LEFT, -1) SetCellStandard(C_H_Spalte_4, SchriftArtSpaltenKopf, CELL_TEXT_LEFT, -1) SetCellStandard(C_H_Spalte_5, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_6, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_6a, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_7, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_8, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) 'Ausrichtung des Textes im Tabellenkörper SetRowStandard(C_Zeile, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Die ganze Zeile SetCellStandard(C_Spalte_3, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_Spalte_4, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_Spalte_5, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_Spalte_9, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellAlign(C_Spalte_5, CELL_TEXT_RIGHT + CELL_TYPE_CLIP ) 'keinen Umbruch für Einzelpreis SetCellAlign(C_Spalte_7, CELL_TEXT_RIGHT + CELL_TYPE_CLIP ) 'keinen Umbruch für Gesamtpreis 'Ausrichtung des Textes aller Zellen in einer Tabellenzeile Hier Rechts, Festlegen der Schriftart SetCellStandard(C_S_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Spalte_3, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Zellen der Übertragszeile auf den Seiten 2 -... SetCellStandard(C_HU_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_HU_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) nBreite = nBreite + GetCellWidth(C_H_Spalte_7) 'Diese Zeile zeichnet einen Strich unter die Tabelle bei Lieferscheinen, wenn keine Kilo C_S_TOP = CreateCell(nBreite, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_VERT) HandleLayout(C_S_TOP, False, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, PEN_NULL, VertLinienArt, nRand) SetCellBorder(C_S_Bottom, CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) C_S_Bottom = CreateCell(nBreite, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_VERT) HandleLayout(C_S_Bottom, False, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, PEN_NULL, VertLinienArt, nRand) SetCellBorder(C_S_Bottom, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) bMitSchraffur = True 'Das Aussehen der Überschriftenzeile if bTabelleMitKopf = JA then HandleLayout(C_H_Head, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) HandleLayout(C_H_Zeile, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) end if ' Aussehen Übertragszeile HandleLayout(C_HU_Zeile, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) 'Diese Zeile ist die Summenzeile bei Seitenumbruch in den Nebenleistungen HandleLayout(C_S_Noetig, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) 'Aussehen der Zeilen im Tabellenkörper bMitSchraffur = True HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) bMitSchraffur = False 'Aussehen der Summenzeile HandleLayout(C_S_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, HorzLinienArt, VertLinienArt, nRand) HandleLayout(C_Zeile_s, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) SetCellBorder(C_S_Noetig, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) 'Setzen des Textinhaltes der Überschriftenzeile if bTabelleMitKopf = NEIN then SetCellText(C_H_Spalte_1, "" ) SetCellText(C_H_Spalte_2, "" ) SetCellText(C_H_Spalte_3, "" ) SetCellText(C_H_Spalte_4, "" ) SetCellText(C_H_Spalte_5, "" ) SetCellText(C_H_Spalte_6, "" ) SetCellText(C_H_Spalte_6a, "" ) SetCellText(C_H_Spalte_7, "" ) SetCellText(C_H_Spalte_8, "" ) else SetCellText(C_H_Spalte_1, sTextSpalte_1) ' default "Pos" SetCellText(C_H_Spalte_2, sTextSpalte_2) ' default "Menge" SetCellText(C_H_Spalte_3, sTextSpalte_3) ' default "Art.-Nr." SetCellText(C_H_Spalte_4, sTextSpalte_4) ' default "Text" SetCellText(C_H_Spalte_5, sTextSpalte_5 + strWaehrung) ' default "Einzelpreis" SetCellText(C_H_Spalte_6, sTextSpalte_6 + strProzent) ' default "Rabatt" SetCellText(C_H_Spalte_6a, sTextSpalte_6a) ' default "USt." SetCellText(C_H_Spalte_7, sTextSpalte_7 + strWaehrung) ' default "Gesamtpreis" SetCellText(C_H_Spalte_8, sTextSpalte_8) ' "Gewicht" end if SetCellStandard(C_S_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_HU_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, "") SetCellText(C_HU_Spalte_1, "Übertrag") SetCellText(C_HU_Spalte_2, "") 'Zellen der Nötigen Zwischensumme wenn Nebenleistungen C_S_Not_Spalte_1 = DuplicateCell(C_S_Spalte_1) C_S_Not_Spalte_2 = DuplicateCell(C_S_Spalte_2) SetCellParent(C_S_Not_Spalte_1, C_S_Noetig) SetCellParent(C_S_Not_Spalte_2, C_S_Noetig) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - BaueTabelleBrutto() 'Erzeugen der Tabelle, wenn BruttoAuftrag (mit Spalten und Zeilen) '///////////////////////////////////////////////////////////// Function BaueTabelleBrutto() Dim strWaehrung as String = "\n" strProzent = "\n" if bMitWaehrung = FALSE then strWaehrung = strWaehrung + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strProzent = strProzent + "%" end if nBreite = 0 ' wenn obere Postion der Tabelle auf Seite 1 automatisch positioniert werden soll ' dann aktuelle Position abfragen und Tabelle darunter beginnen DIM nTabelleOben as numeric = nTabelleObenAufSeite1-nRandOben DIM nX as numeric DIM nY as numeric if bTabelleObenAufSeite1Auto then GetPos( nX, nY ) nTabelleOben = nY + bTabelleObenAufSeite1AutoAbstand end if ' wenn Autoformat( automatisches Anpassen der Breite), dann linke Position ignorieren if bTabelleAutoFormat then SetPos( 0 , nTabelleOben ) else SetPos( nTabelleLinksAufSeite1-nRandLinks, nTabelleOben ) end if 'Definition der Überschriftenzeile C_H_Head = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT) C_H_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then C_HU_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) end if SetCellBorder(C_H_Head, CELL_BORDER_ALL, 0, PEN_NULL, COLOR_TRANSPARENT) 'Definition der Zeilen im Tabellenkörper 'C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) 'ohne Zub C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ + CELL_TYPE_BREAK) SetEventHandlerEx(EVENT_UPDATE, OnUpdate, C_Zeile) C_Zeile_s = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) 'Definition der Summenzeilen C_S_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Noetig = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Gesamt = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Abschlag = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_SteuerBruttoText = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) C_S_Forder = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) ' C_S_SteuerBrutto = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) if bMengenSpalteVorEPAuftrag = true then 'Aussehen der Spalten im Tabellenkopf und -körper, wenn sich nicht um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nBreiteSpalte_1, 0, C_H_Zeile, C_C_H_SPALTE) ' "Pos" C_H_Spalte_3 = GetFormatCell(nBreiteSpalte_3, 0, C_H_Zeile, C_C_H_SPALTE) ' "Art.Nr." C_H_Spalte_4 = GetFormatCell(nBreiteSpalte_4, 0, C_H_Zeile, C_C_H_SPALTE) ' "Text" C_H_Spalte_2 = GetFormatCell(nBreiteSpalte_2, 0, C_H_Zeile, C_C_H_SPALTE) ' "Menge" C_H_Spalte_5 = GetFormatCell(nBreiteSpalte_5, 0, C_H_Zeile, C_C_H_SPALTE) ' "Einzelpreis" C_H_Spalte_6 = GetFormatCell(nBreiteSpalte_6, 0, C_H_Zeile, C_C_H_SPALTE) ' "Rabatt" C_H_Spalte_6a = GetFormatCell(nBreiteSpalte_6a, 0, C_H_Zeile, C_C_H_SPALTE) ' "USt." C_H_Spalte_7 = GetFormatCell(nBreiteSpalte_7, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gesamtpreis" C_Spalte_1 = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' "Pos" C_Spalte_4 = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' "Art.Nr" C_Spalte_5 = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' "Text" C_Spalte_2 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Stk" C_Spalte_3 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Einheit" C_Spalte_6 = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' "Einzelpreis" C_Spalte_7 = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile, C_C_SPALTE) ' "Rabatt" C_Spalte_7a = GetFormatCell(nBreiteSpalte_6a , 0, C_Zeile, C_C_SPALTE) ' "USt." C_Spalte_8 = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile, C_C_SPALTE) ' "Gesamtpreis" C_Spalte_1s = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' "PosStücklistenart." C_Spalte_4s = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' "Art.NrStücklistenart." C_Spalte_9s = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile_s, C_C_SPALTE) ' "GewichtStücklistenart." C_Spalte_5s = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' "TextStücklistenart." C_Spalte_2s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE)' "Menge StkStücklistenart." C_Spalte_3s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE)' "Menge EinheitStücklistenart." C_Spalte_6s = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' "EinzelpreisStücklistenart." C_Spalte_7s = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) ' "RabattStücklistenart." C_Spalte_7sa = GetFormatCell(nBreiteSpalte_6a , 0, C_Zeile_s, C_C_SPALTE) ' "USt.Stücklistenart." C_Spalte_8s = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) ' "GesamtpreisStücklistenart." else 'Aussehen der Spalten im Tabellenkopf und -körper, wenn sich nicht um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nBreiteSpalte_1, 0, C_H_Zeile, C_C_H_SPALTE) ' "Pos" C_H_Spalte_2 = GetFormatCell(nBreiteSpalte_2, 0, C_H_Zeile, C_C_H_SPALTE) ' "Menge" C_H_Spalte_3 = GetFormatCell(nBreiteSpalte_3, 0, C_H_Zeile, C_C_H_SPALTE) ' "Art.Nr." C_H_Spalte_4 = GetFormatCell(nBreiteSpalte_4, 0, C_H_Zeile, C_C_H_SPALTE) ' "Text" C_H_Spalte_5 = GetFormatCell(nBreiteSpalte_5, 0, C_H_Zeile, C_C_H_SPALTE) ' "Einzelpreis" C_H_Spalte_6 = GetFormatCell(nBreiteSpalte_6, 0, C_H_Zeile, C_C_H_SPALTE) ' "Rabatt" C_H_Spalte_6a = GetFormatCell(nBreiteSpalte_6a, 0, C_H_Zeile, C_C_H_SPALTE) ' "USt." C_H_Spalte_7 = GetFormatCell(nBreiteSpalte_7, 0, C_H_Zeile, C_C_H_SPALTE) ' "Gesamtpreis" C_Spalte_1 = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' "Pos" C_Spalte_2 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Stk" C_Spalte_3 = GetFormatCell(nBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' "Menge Einheit" C_Spalte_4 = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' "Art.Nr" C_Spalte_5 = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' "Text" C_Spalte_6 = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' "Einzelpreis" C_Spalte_7 = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile, C_C_SPALTE) ' "Rabatt" C_Spalte_7a = GetFormatCell(nBreiteSpalte_6a , 0, C_Zeile, C_C_SPALTE) ' "USt." C_Spalte_8 = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile, C_C_SPALTE) ' "Gesamtpreis" C_Spalte_1s = GetFormatCell(nBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' "PosStücklistenart." C_Spalte_2s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE) ' "Menge StkStücklistenart." C_Spalte_3s = GetFormatCell(nBreiteSpalte_2/2, 0, C_Zeile_s, C_C_SPALTE) ' "Menge EinheitStücklistenart." C_Spalte_4s = GetFormatCell(nBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' "Art.NrStücklistenart." C_Spalte_9s = GetFormatCell(nBreiteSpalte_8 , 0, C_Zeile_s, C_C_SPALTE) ' "GewichtStücklistenart." C_Spalte_5s = GetFormatCell(nBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' "TextStücklistenart." C_Spalte_6s = GetFormatCell(nBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' "EinzelpreisStücklistenart." C_Spalte_7s = GetFormatCell(nBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) ' "RabattStücklistenart." C_Spalte_7sa = GetFormatCell(nBreiteSpalte_6a , 0, C_Zeile_s, C_C_SPALTE) ' "USt.Stücklistenart." C_Spalte_8s = GetFormatCell(nBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) ' "GesamtpreisStücklistenart." end if SetCellStandard(C_Spalte_2s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_Spalte_3s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Die Zellen der Übertragzeile nBreite = nBreiteSpalte_1 + nBreiteSpalte_2 + nBreiteSpalte_3 + nBreiteSpalte_4 + nBreiteSpalte_5 + nBreiteSpalte_6 + nBreiteSpalte_6a C_HU_Spalte_1 = GetFormatCell(nBreite, 0, C_HU_Zeile, C_C_S_SPALTE) C_HU_Spalte_2 = GetFormatCell(nBreiteSpalte_7, 0, C_HU_Zeile, C_C_S_SPALTE) 'Zellen der Summenzeile C_S_Spalte_1 = GetFormatCell(nBreite, 0, C_S_Zeile, C_C_S_SPALTE) C_S_Spalte_2 = GetFormatCell(nBreiteSpalte_7, 0, C_S_Zeile, C_C_S_SPALTE) 'Ausrichtung des Textes in der Kopfzeile 'SetCellStandard(C_H_Spalte_2, SchriftArtSpaltenKopf, CELL_TEXT_LEFT, -1) SetCellStandard(C_H_Spalte_4, SchriftArtSpaltenKopf, CELL_TEXT_LEFT, -1) SetCellStandard(C_H_Spalte_5, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_6, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_6a, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_7, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) 'Ausrichtung des Textes im Tabellenkörper SetRowStandard(C_Zeile, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Die ganze Zeile SetCellStandard(C_Spalte_3, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_Spalte_4, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_Spalte_5, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellAlign(C_Spalte_5, CELL_TEXT_RIGHT + CELL_TYPE_CLIP ) 'keinen Umbruch für Einzelpreis SetCellAlign(C_Spalte_7, CELL_TEXT_RIGHT + CELL_TYPE_CLIP ) 'keinen Umbruch für Gesamtpreis 'Ausrichtung des Textes aller Zellen in einer Tabellenzeile Hier Rechts, Festlegen der Schriftart SetCellStandard(C_S_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Spalte_3, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Zellen der Übertragszeile auf den Seiten 2 -... SetCellStandard(C_HU_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_HU_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) nBreite = nBreite + GetCellWidth(C_H_Spalte_7) 'Diese Zeile zeichnet einen Strich unter die Tabelle bei Lieferscheinen, wenn keine Kilo C_S_TOP = CreateCell(nBreite, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_VERT) HandleLayout(C_S_TOP, False, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, PEN_NULL, VertLinienArt, nRand) SetCellBorder(C_S_Bottom, CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) C_S_Bottom = CreateCell(nBreite, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_VERT) HandleLayout(C_S_Bottom, False, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, PEN_NULL, VertLinienArt, nRand) SetCellBorder(C_S_Bottom, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) bMitSchraffur = True if bTabelleMitKopf = JA then HandleLayout(C_H_Head, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) HandleLayout(C_H_Zeile, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) end if ' Aussehen Übertragszeile HandleLayout(C_HU_Zeile, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) 'Diese Zeile ist die Summenzeile bei Seitenumbruch in den Nebenleistungen HandleLayout(C_S_Noetig, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) 'Aussehen der Zeilen im Tabellenkörper bMitSchraffur = True HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) HandleLayout(C_Zeile_s, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) bMitSchraffur = False 'Aussehen der Summenzeile HandleLayout(C_S_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, HorzLinienArt, VertLinienArt, nRand) SetCellBorder(C_S_Noetig, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) 'Setzen des Textinhaltes der Überschriftenzeile if bTabelleMitKopf = NEIN then SetCellText(C_H_Spalte_1, "" ) SetCellText(C_H_Spalte_2, "" ) SetCellText(C_H_Spalte_3, "" ) SetCellText(C_H_Spalte_4, "" ) SetCellText(C_H_Spalte_5, "" ) SetCellText(C_H_Spalte_6, "" ) SetCellText(C_H_Spalte_6a, "" ) SetCellText(C_H_Spalte_7, "" ) else SetCellText(C_H_Spalte_1, sTextSpalte_1) ' default "Pos" SetCellText(C_H_Spalte_2, sTextSpalte_2) ' default "Menge" SetCellText(C_H_Spalte_3, sTextSpalte_3) ' default "Art.-Nr." SetCellText(C_H_Spalte_4, sTextSpalte_4) ' default "Text" SetCellText(C_H_Spalte_5, sTextSpalte_5 + strWaehrung) ' default "Einzelpreis" SetCellText(C_H_Spalte_6, sTextSpalte_6 + strProzent) ' default "Rabatt" SetCellText(C_H_Spalte_6a, sTextSpalte_6a ) ' default "USt." SetCellText(C_H_Spalte_7, sTextSpalte_7 + strWaehrung) ' default "Gesamtpreis" end if SetCellStandard(C_S_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_HU_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, "") SetCellText(C_HU_Spalte_1, "Übertrag") SetCellText(C_HU_Spalte_2, "") 'Zellen der Nötigen Zwischensumme wenn Nebenleistungen C_S_Not_Spalte_1 = DuplicateCell(C_S_Spalte_1) C_S_Not_Spalte_2 = DuplicateCell(C_S_Spalte_2) SetCellParent(C_S_Not_Spalte_1, C_S_Noetig) SetCellParent(C_S_Not_Spalte_2, C_S_Noetig) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - BaueTabelleLieferschein() 'Erzeugen der Tabelle für den Lieferschein mit Spalten und Zeilen '///////////////////////////////////////////////////////////// Function BaueTabelleLieferschein() Dim strWaehrung as String = "\n" strGewicht = "\n" if bMitWaehrung = FALSE then strWaehrung = strWaehrung + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strGewicht = strGewicht + "kg" end if nBreite = 0 ' wenn obere Postion der Tabelle auf Seite 1 automatisch positioniert werden soll ' dann aktuelle Position abfragen und Tabelle darunter beginnen DIM nTabelleOben as numeric = nTabelleObenAufSeite1-nRandOben DIM nX as numeric DIM nY as numeric if bTabelleObenAufSeite1Auto then GetPos( nX, nY ) nTabelleOben = nY + bTabelleObenAufSeite1AutoAbstand end if ' wenn Autoformat( automatisches Anpassen der Breite), dann linke Position ignorieren if bTabelleAutoFormat then SetPos( 0 , nTabelleOben ) else SetPos( nTabelleLinksAufSeite1-nRandLinks, nTabelleOben ) end if 'Definition der Überschriftenzeile C_H_Head = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_VERT) C_H_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) SetCellBorder(C_H_Head, CELL_BORDER_ALL, 0, PEN_NULL, COLOR_TRANSPARENT) 'Definition der Zeilen im Tabellenkörper ' C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) 'ohne Zub C_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ + CELL_TYPE_BREAK) SetEventHandlerEx(EVENT_UPDATE, OnUpdate, C_Zeile) C_Zeile_s = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) '(für Stücklistenpositionen if bMengenSpalteVorEPLiefer = true then 'Aussehen der Spalten im Tabellenkopf und -körper, wenn es sich um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_H_Zeile, C_C_H_SPALTE) ' Position C_H_Spalte_3 = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_H_Zeile, C_C_H_SPALTE) ' Art.-Nr. C_H_Spalte_4 = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_H_Zeile, C_C_H_SPALTE) ' kg C_H_Spalte_5 = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_H_Zeile, C_C_H_SPALTE) ' Text C_H_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_2 , 0, C_H_Zeile, C_C_H_SPALTE) ' Menge C_H_Spalte_6 = GetFormatCell(nLieferBreiteSpalte_6 , 0, C_H_Zeile, C_C_H_SPALTE) ' Einzelpreis C_H_Spalte_7 = GetFormatCell(nLieferBreiteSpalte_7 , 0, C_H_Zeile, C_C_H_SPALTE) ' Gesamtpreis C_Spalte_1 = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' Position C_Spalte_4 = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' Art.-Nr. C_Spalte_5 = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' kg C_Spalte_6 = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' Text C_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' Menge - Anzahl C_Spalte_3 = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' Menge - Einheit ' keine Umbruch für Einzel und Gesamtpreis, deshalb die Zellen hier von Hand erzeugen ' C_Spalte_7 = GetFormatCell(GetCellWidth(C_H_Spalte_6), 0, C_Zeile, C_C_SPALTE) ' Einzelpreis ' C_Spalte_8 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_Zeile, C_C_SPALTE) ' Gesamtpreis C_Spalte_7 = CreateCell(nLieferBreiteSpalte_6, 0, CELL_TYPE_DYNVERT + CELL_TYPE_VERT ) SetCellParent(C_Spalte_7, C_Zeile) SetCellBackground(C_Spalte_7, COLOR_TRANSPARENT) C_Spalte_8 = CreateCell(nLieferBreiteSpalte_7, 0, CELL_TYPE_DYNVERT + CELL_TYPE_VERT ) SetCellParent(C_Spalte_8, C_Zeile) SetCellBackground(C_Spalte_8, COLOR_TRANSPARENT) C_Spalte_1s = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' PositionStücklistenartikel C_Spalte_4s = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' Art.-Nr.Stücklistenartikel C_Spalte_5s = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' kg C_Spalte_6s = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' TextStücklistenartikel C_Spalte_2s = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile_s, C_C_SPALTE) ' Menge - AnzahlStücklistenartikel C_Spalte_3s = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile_s, C_C_SPALTE) ' Menge - EinheitStücklistenartikel C_Spalte_7s = GetFormatCell(nLieferBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) C_Spalte_8s = GetFormatCell(nLieferBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) else 'Aussehen der Spalten im Tabellenkopf und -körper, wenn es sich um einen Lieferschein handelt C_H_Spalte_1 = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_H_Zeile, C_C_H_SPALTE) ' Position C_H_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_2 , 0, C_H_Zeile, C_C_H_SPALTE) ' Menge C_H_Spalte_3 = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_H_Zeile, C_C_H_SPALTE) ' Art.-Nr. C_H_Spalte_4 = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_H_Zeile, C_C_H_SPALTE) ' kg C_H_Spalte_5 = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_H_Zeile, C_C_H_SPALTE) ' Text C_H_Spalte_6 = GetFormatCell(nLieferBreiteSpalte_6 , 0, C_H_Zeile, C_C_H_SPALTE) ' Einzelpreis C_H_Spalte_7 = GetFormatCell(nLieferBreiteSpalte_7 , 0, C_H_Zeile, C_C_H_SPALTE) ' Gesamtpreis C_Spalte_1 = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_Zeile, C_C_SPALTE) ' Position C_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' Menge - Anzahl C_Spalte_3 = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile, C_C_SPALTE) ' Menge - Einheit C_Spalte_4 = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_Zeile, C_C_SPALTE) ' Art.-Nr. C_Spalte_5 = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_Zeile, C_C_SPALTE) ' kg C_Spalte_6 = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_Zeile, C_C_SPALTE) ' Text ' keine Umbruch für Einzel und Gesamtpreis, deshalb die Zellen hier von Hand erzeugen ' C_Spalte_7 = GetFormatCell(GetCellWidth(C_H_Spalte_6), 0, C_Zeile, C_C_SPALTE) ' Einzelpreis ' C_Spalte_8 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_Zeile, C_C_SPALTE) ' Gesamtpreis C_Spalte_7 = CreateCell(nLieferBreiteSpalte_6, 0, CELL_TYPE_DYNVERT + CELL_TYPE_VERT ) SetCellParent(C_Spalte_7, C_Zeile) SetCellBackground(C_Spalte_7, COLOR_TRANSPARENT) C_Spalte_8 = CreateCell(nLieferBreiteSpalte_7, 0, CELL_TYPE_DYNVERT + CELL_TYPE_VERT ) SetCellParent(C_Spalte_8, C_Zeile) SetCellBackground(C_Spalte_8, COLOR_TRANSPARENT) C_Spalte_1s = GetFormatCell(nLieferBreiteSpalte_1 , 0, C_Zeile_s, C_C_SPALTE) ' PositionStücklistenartikel C_Spalte_2s = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile_s, C_C_SPALTE) ' Menge - AnzahlStücklistenartikel C_Spalte_3s = GetFormatCell(nLieferBreiteSpalte_2/2 , 0, C_Zeile_s, C_C_SPALTE) ' Menge - EinheitStücklistenartikel C_Spalte_4s = GetFormatCell(nLieferBreiteSpalte_3 , 0, C_Zeile_s, C_C_SPALTE) ' Art.-Nr.Stücklistenartikel C_Spalte_5s = GetFormatCell(nLieferBreiteSpalte_4 , 0, C_Zeile_s, C_C_SPALTE) ' kg C_Spalte_6s = GetFormatCell(nLieferBreiteSpalte_5 , 0, C_Zeile_s, C_C_SPALTE) ' TextStücklistenartikel C_Spalte_7s = GetFormatCell(nLieferBreiteSpalte_6 , 0, C_Zeile_s, C_C_SPALTE) C_Spalte_8s = GetFormatCell(nLieferBreiteSpalte_7 , 0, C_Zeile_s, C_C_SPALTE) end if SetCellStandard(C_Spalte_2s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Menge Stücklistenartikel SetCellStandard(C_Spalte_5s, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'kg Stücklistenartikel nBreite = GetCellWidth(C_H_Spalte_1) + GetCellWidth(C_H_Spalte_2) + GetCellWidth(C_H_Spalte_3) + GetCellWidth(C_H_Spalte_4) + GetCellWidth(C_H_Spalte_5) SetCellStandard(C_H_Spalte_5, SchriftArtStandard, CELL_TEXT_LEFT, -1) 'Ausrichtung des Textes in der Kopfzeile SetCellStandard(C_H_Spalte_2, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_3, SchriftArtSpaltenKopf, CELL_TEXT_LEFT, -1) SetCellStandard(C_H_Spalte_4, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_5, SchriftArtSpaltenKopf, CELL_TEXT_LEFT , -1) SetCellStandard(C_H_Spalte_6, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) SetCellStandard(C_H_Spalte_7, SchriftArtSpaltenKopf, CELL_TEXT_CENTER, -1) 'Ausrichtung des Textes im Tabellenkörper SetRowStandard(C_Zeile, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Die ganze Zeile SetCellStandard(C_Spalte_1, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Pos SetCellStandard(C_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Menge Stk SetCellStandard(C_Spalte_3, SchriftArtStandard, CELL_TEXT_LEFT , -1) 'Menge Einheit SetCellStandard(C_Spalte_4, SchriftArtStandard, CELL_TEXT_LEFT , -1) 'Art.Nr. SetCellStandard(C_Spalte_5, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Gewicht SetCellStandard(C_Spalte_6, SchriftArtStandard, CELL_TEXT_LEFT , -1) 'Text SetCellStandard(C_Spalte_7, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Einzelpreis SetCellStandard(C_Spalte_8, SchriftArtStandard, CELL_TEXT_RIGHT, -1) 'Gesamtpreis bMitSchraffur = True 'Das Aussehen der Überschriftenzeile if bTabelleMitKopf = JA then HandleLayout(C_H_Head, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) HandleLayout(C_H_Zeile, bMitSchraffur, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, HorzLinienArt, VertLinienArt, nRand) end if 'Aussehen der Zeilen im Tabellenkörper bMitSchraffur = True HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) HandleLayout(C_Zeile_s, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) bMitSchraffur = False 'Definition der Zeile Gesamtbetrag C_S_Zeile = CreateCell(0, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_DYNVERT + CELL_TYPE_HORZ) 'Die Zellen für den Gesmatbetrag nBreite = nLieferBreiteSpalte_1 + nLieferBreiteSpalte_2 + nLieferBreiteSpalte_3 + nLieferBreiteSpalte_4 + nLieferBreiteSpalte_5 'nBreite = GetCellWidth(C_H_Spalte_1) + GetCellWidth(C_H_Spalte_2) + GetCellWidth(C_H_Spalte_3) + GetCellWidth(C_H_Spalte_4) + GetCellWidth(C_H_Spalte_5) C_S_Spalte_1 = GetFormatCell(nBreite, 0, C_S_Zeile, C_C_S_Spalte) C_S_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_6+nLieferBreiteSpalte_7, 0, C_S_Zeile, C_C_S_Spalte) 'Ausrichtung des Textes aller Zellen in einer Tabellenzeile Hier Rechts, Festlegen der Schriftart SetCellStandard(C_S_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) HandleLayout(C_S_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, PEN_NULL, nRand) if nLieferBreiteSpalte_7 = 0 then SetCellText(C_S_Spalte_1, "") SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) else SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellBorder(C_S_Zeile, CELL_BORDER_ALL, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen 'Übertrags-Zeile einschalten C_HU_Zeile = GetFormatCell(0, 0, C_H_Head, C_C_H_ZEILE) C_HU_Spalte_1 = GetFormatCell(nBreite, 0, C_HU_Zeile, C_C_S_SPALTE) C_HU_Spalte_2 = GetFormatCell(nLieferBreiteSpalte_6+nLieferBreiteSpalte_7, 0, C_HU_Zeile, C_C_S_SPALTE) SetCellStandard(C_HU_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_HU_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellText(C_HU_Spalte_1, "Übertrag") SetCellText(C_HU_Spalte_2, "") end if SetCellText(C_S_Spalte_2, "") 'Diese Zeile zeichnet einen Strich unter die Tabelle bei Lieferscheinen, wenn keine Kilo ' C_S_Bottom = CreateCell(nBreite, 0, CELL_TYPE_DYNHORZ + CELL_TYPE_VERT) 'HandleLayout(C_S_Bottom, False, nSchraffurFarbeKopf, SchriftArtSpaltenKopf, PEN_NULL, VertLinienArt, nRand) ' SetCellBorder(C_S_Bottom, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) 'Setzen des Textinhaltes der Überschriftenzeile if bTabelleMitKopf = NEIN then SetCellText(C_H_Spalte_1, "" ) SetCellText(C_H_Spalte_2, "" ) SetCellText(C_H_Spalte_3, "" ) SetCellText(C_H_Spalte_4, "" ) SetCellText(C_H_Spalte_5, "" ) SetCellText(C_H_Spalte_6, "" ) SetCellText(C_H_Spalte_7, "" ) else SetCellText(C_H_Spalte_1, sLieferTextSpalte_1 ) 'default "Pos." SetCellText(C_H_Spalte_2, sLieferTextSpalte_2 ) 'default "Menge" SetCellText(C_H_Spalte_3, sLieferTextSpalte_3 ) 'default "Art.-Nr. SetCellText(C_H_Spalte_4, sLieferTextSpalte_4 + strGewicht) 'default "kg" SetCellText(C_H_Spalte_5, sLieferTextSpalte_5 ) 'default "Text" SetCellText(C_H_Spalte_6, sLieferTextSpalte_6 + strWaehrung) ' default "Einzelpreis" SetCellText(C_H_Spalte_7, sLieferTextSpalte_7 + strWaehrung) ' default "Gesamtpreis" end if End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - LeereZellen() 'Löschen einer Zeile der Tabelle '///////////////////////////////////////////////////////////// Function LeereZellen() 'Diese Funktion behandelt das Schraffieren der Tabellenzeilen und leert deren Inhalte HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) ' If bMitSchraffur Then ' bMitSchraffur = false ' else ' bMitSchraffur = true ' End If ClearRow(C_Zeile, "") ClearRow(C_Zeile_s, "") ClearRow(cRowLohn, "") ClearRow(cLine1Lohn, "") ClearRow(cLine1Row1Lohn, "") ClearRow(cLine1Row2Lohn, "") ClearRow(cLine2Lohn, "") ClearRow(cLine2Row1Lohn, "") End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - PrintArtikelText() 'Drucken der zusätzlichen Bezeichnungen der Artikel nach der Hauptartikelbezeichnung '/////////////////////////////////////////////////////////////// Function PrintArtikelText( Spalte as CellType ) Dim sPosBez as String = "" Dim sPosText as String = "" if bMitArtikelbez then sPosBez = Get(POS_BEZ) end if if bMitArtikeltext Or (Not ((IS(POS_IST_STAMMART)) OR (IS(POS_IST_ALTERNATIV)) OR (IS(POS_IST_DATANORM)) OR (IS(POS_IST_LOHNLEISTUNG)))) then sPosText = Get(POS_ALLTEXT) end if Dim ArtikelText as String = "" if is (POS_IST_SEITENUMBRUCH) = FALSE then ' Hauptbezeichnung ArtikelText = ArtikelText + sPosBez ' alle weiteren Textzeilen if sPosText <> "" then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + sPosText end if end if if (IS( POS_IST_STAMMART )) OR (IS( POS_IST_ALTERNATIV )) Then if (bArtikelFreifeld1) AND (Get(ART_FREIFELD1) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD1) end if if (bArtikelFreifeld2) AND (Get(ART_FREIFELD2) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD2) end if if (bArtikelFreifeld3) AND (Get(ART_FREIFELD3) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD3) end if if (bArtikelFreifeld4) AND (Get(ART_FREIFELD4) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD4) end if if (bArtikelFreifeld5) AND (Get(ART_FREIFELD5) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD5) end if if (bArtikelFreifeld6) AND (Get(ART_FREIFELD6) <> "") then if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get(ART_FREIFELD6) end if if (GetNumeric( POS_IST_AKTIONPREIS ) = 2) AND ( Get(POS_AKTIONBEZEICHNUNG) <> "" ) then 'Preis ist Aktionspreis if ArtikelText <> "" then ArtikelText = ArtikelText + "\n" end if ArtikelText = ArtikelText + Get( POS_AKTIONBEZEICHNUNG ) end if end if ' wenn es eine Alternativposition ist, dann kennzeichnen if (IS(POS_IST_ALTERNATIV) = true) OR (IS(POS_IST_MANALTERNATIV) = true) then ArtikelText = "Alternativposition\n" + ArtikelText end if SetCellText(Spalte, ArtikelText) End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - FuelleTabelleNetto() 'Füllen der Tabelle für einen NettoAuftrag '//////////////////////////////////////////////////////////////// Function FuelleTabelleNetto() DIM bHatAbschlag as bool = false DIM nPosTyp as numeric DIM strBez as string = "" strGewicht = "" strProzent = "" DIM nLastPage as numeric = nAuftragPage Dim nCount as numeric 'Stücklistenpositionen Dim ArtikelLine as Numeric 'Artikelpos. Höhe Dim bPosKommentar as bool = false Dim bMitKommentar as bool = false DrawCell(C_H_Zeile, True) 'SpaltenÜberschriften SetHeaderCell(C_H_Head) ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then SetFooterCell(C_S_Zeile) else SetFooterCell(C_S_Bottom) end if nCurrencySymbol = CURRENCY_SYMBOL_HIDE ' Ausgabe mit CURRENCY_SYMBOL_RIGHT hat unter '95 und '98 ein Problem, deshalb selbst formatieren if bMitWaehrung then strWaehrungsSymbol = " " + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strGewicht = " kg" strProzent = " %" end if ' in dieser Schleife werden alle Rechnungsposten ausgelesen und entsprechend in den Spalten dargestellt ' die Ausgabe der Summenzeilen erfolgt in einer separaten Schleife Result_P= FirstRecord(AUFTRPOSITION) 'Erster Rechungsposten Dim Result_Z as bool dim bWeiter as bool = TRUE While Result_P Do nSteuerSatz = GetNumeric(POS_UST_SATZ) If IS(POS_IST_LOHNLEISTUNG) then nUstLohn = GetNumeric(POS_GES_UST) if nUstLohnalt <> nUstLohn then bAuftrLohnUst = true end if nUstLohnalt = nUstLohn end if if bmitSchraffur = true then bmitSchraffur = true else bmitSchraffur = false end if ' Zwischensumme if is (POS_IST_ZWSUMME) then if bmitSchraffur = true then bmitSchraffur = false else bmitSchraffur = true end if SetCellText(C_Spalte_1, "Z") 'Position als Zwischensumme kennzeichnen SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if if IS(POS_IST_TEXTPOS) then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) end if ' nur wenn keine Nebenleistungen if IS(POS_IST_NEBENL) = FALSE then if nAnzahlSt = 0 then nAnzahlSt = 1 'erhöhe Anzahl Steuersätze wg. nicht steuerbaren end if 'manueller Artikel, Stammartikel, Alternativpos IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV )OR IS(POS_IST_DATANORM)OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_KOMMENTAR) OR IS(POS_IST_LOHNLEISTUNG) Then 'AlternativPosition ? if (IS (POS_IST_ALTERNATIV) = true) OR (IS ( POS_IST_MANALTERNATIV) = true ) then 'HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, ARIAL_KURSIV_9, PEN_NULL, VertLinienArt, nRand) SetCellText(C_Spalte_1, "A") 'Position als Alternativ kennzeichnen else if IS(POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_1, SchriftArtKommentar) SetCellText(C_Spalte_1, "") 'Position als Alternativ kennzeichnen else SetCellText(C_Spalte_1, FormatNumeric("%.0f", GetNumeric(POS_NR))) 'PositionNr end if end if if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if (Get("A", 52) <> "") AND bmitBildAnhang = true then bBildExist = true end if if bmitBildSpalte and nBildSpalteAuswahl = 0 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) end if if IS(POS_IST_KOMMENTAR) then SetCellText(C_Spalte_2,"") else SetCellText(C_Spalte_2, FormatNumeric(FormatMenge, GetNumeric(POS_MENGE))) 'Menge end if SetCellText(C_Spalte_3, Get(POS_EINHEIT)) 'Einheit ' Artikelnummer nur, wenn keine Manuelle Position und Spalte sichtbar IF IS( POS_IST_MANUELLE_POS ) = FALSE AND nBreiteSpalte_3 > 0 then ' wenn eine Bestellung, dann nicht die normale Artikelnummer des Artikels nehmen, sondern ' die Artikelnummer des Lieferanten If is(AUFTR_IST_B) then if IS(POS_IST_DATANORM) OR Get(POS_BESTEL_NR) = "" then strTemp = Get(POS_ART_NR) 'Artikelnummer bei Datanorm oder bei leerer Bestellnr else strTemp = Get(POS_BESTEL_NR) 'Artikelnummer beim Lieferanten end if else strTemp = Get(POS_ART_NR) 'Artikelnummer end if 'Nummer ausgeben und ggf. das Artikelbild SetCellText(C_Spalte_4, strTemp) if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if bmitBildSpalte = True and nBildSpalteAuswahl = 1 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) end if ELSE SetCellText(C_Spalte_4, "") SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) END IF END IF END IF ' alle Positionsarten ausser Nebenleistungen If IS( POS_IST_NEBENL ) = FALSE Then if IS (POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_5, SchriftArtKommentar) end if PrintArtikelText(C_Spalte_5) 'Artikelbezeichnungen if IS( POS_IST_STAMMART ) OR is(POS_IST_ALTERNATIV) then if bmitBildSpalte and nBildSpalteAuswahl = 2 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) end if ArtikelLine = GetCellHeight(C_Spalte_5) if bStuecklistenArtikelAnzeigen then If is (ART_MIT_STUECKLISTE) = true AND ((IS( POS_IST_STAMMART ) = true) AND IS( POS_IST_ALTERNATIV ) = true) then nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) - GetCellHeight(C_Spalte_5) - (nCount * GetCellHeight(C_Zeile_s)) if nPosition < 0 then DrawCell(C_S_Zeile, True) Pagebreak() end if end if end if SetCurrencyNKStellen(GetNumeric(FA_NACHKOMMAST_EK)) 'setzen der Nachkommastellen wie in den Optionen ' Währung nur anzeigen, wenn Wert nicht 0 if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_ZWSUMME ) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if if nBreiteSpalte_5 > 0 Then SetCelltext(C_Spalte_6, HCS(GetCurrencyFormat(POS_EINZELPREIS, CC_ORG, nCurrencyFormat))) 'Ausgabe des Einzelpreises end if SetCurrencyNKStellen( 2 ) 'setzen der Nachkommastellen auf 2 für rabatt und Gesamtpreis ' Steuer statt Rabatt ausgeben IF bSteuerStattRabatt THEN 'Prozentsatz des Steuersatzes bei Textpositionen nicht ausgeben IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_LOHNLEISTUNG) Then SetCellText(C_Spalte_7, GetPositionsUStSatz() ) end if ELSE if nBreiteSpalte_6 > 0 Then if GetNumeric(POS_RAB_PROZENT) <> 0 Then 'wenn Rabatt ausgewählt SetCellText(C_Spalte_7, FormatNumeric("%.2f", GetNumeric(POS_RAB_PROZENT)) + strProzent) 'Ausgabe des Rabattes end if end if END IF IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_LOHNLEISTUNG)Then if nBreiteSpalte_6a > 0 then SetCellText(C_Spalte_7a, GetPositionsUStSatz() ) end if end if ' Währung nur anzeigen, wenn Wert nicht 0 if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if ' den Gesamtbetrag bei einer Alternativposition in Klammern setzen if (is (POS_IST_ALTERNATIV) = true) OR (is ( POS_IST_MANALTERNATIV) = true ) then strPuffer = "( " + HCS(GetCurrencyFormatValue(POS_GES_NETPREIS, CC_ORG, nCurrencyFormat, nBetrag)) + " )" else strPuffer = HCS(GetCurrencyFormatValue(POS_GES_NETPREIS, CC_ORG, nCurrencyFormat, nBetrag)) end if if nBreiteSpalte_7 > 0 Then SetCelltext(C_Spalte_8, strPuffer ) 'Ausgabe Gesamtpreis end if ' AlternativPosition und Zwischensumme nicht in ZW-Berechnung if (is (POS_IST_ALTERNATIV) = false) AND (is (POS_IST_MANALTERNATIV) = false)AND (is (POS_IST_ZWSUMME ) = false) then nSumme = nSumme + nBetrag 'Aufsummieren für den Übertrag, wenn keine Alternativpos end if if IS(POS_IST_KOMMENTAR) = false then 'Ausgabe der Zeile if is (POS_IST_SEITENUMBRUCH) then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if DrawCell(C_Zeile, True) else if IS(AUFTR_MIT_KOMMENTAR) = true then DrawCell(C_Zeile, True) end if end if If is (POS_IST_SEITENUMBRUCH) Then DrawCell(C_S_Zeile, True) PageBreak() end if if bStuecklistenArtikelAnzeigen Then LeereZellen() IF (IS( POS_IST_STAMMART )) OR (IS(POS_IST_ALTERNATIV)) Then Result_Z = FirstRecord("Z") if Result_Z then if bmitSchraffur = true then bmitSchraffur = false else bmitSchraffur = true end if HandleLayout(C_Zeile_s, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) SetCellFont(C_Spalte_5s, "Arial", 8, FONT_BOLD, COLOR_BLACK) SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, "") SetCellText(C_Spalte_3s, "") SetCellText(C_Spalte_4s, "") SetCellText(C_Spalte_5s, "bestehend aus:") SetCellText(C_Spalte_6s, "") SetCellText(C_Spalte_7s, "") SetCellText(C_Spalte_7sa, "") SetCellText(C_Spalte_8s, "") DrawCell(C_Zeile_s, True) nCount = 3 While Result_Z do ' Menge, Einheit, Artikelnummer, Bezeichnung SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, FormatNumeric(FormatMenge, GetNumeric(STL_POS_MENGE))) SetCellText(C_Spalte_3s, Get(STL_POS_EINHEIT)) SetCellText(C_Spalte_4s, Get(STL_POS_NR)) SetCellText(C_Spalte_5s, Get(STL_POS_BEZ))' + "\n" + Get("Z", 96)) SetCellFont(C_Spalte_1s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_2s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_3s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_4s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_5s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) DrawCell(C_Zeile_s, True) nCount = nCount + 1 Result_Z = NextRecord("Z") End While if bmitSchraffur = true then bmitSchraffur = false else bmitSchraffur = true end if end if LeereZellen() End if end if LeereZellen() 'Leeren der Zellen, setzen der Schraffur 'Wenn es Nebenleistungen gibt else Nebenleistung = True 'wird für Darstellung der Zwischensummenzeile benötigt end if if IS(POS_IST_LOHNLEISTUNG) then nLohnbetrag = GetNumeric(POS_GES_NETPREIS) if is(KD_UMSAETZE_NICHT_STEUERBAR) = False then nLohnUst = 0.00 else nLohnUst = GetNumeric("P", 12) end if if bAuftrLohnUst = true then nLohnUstBetrag = nLohnbetrag * nLohnUst/100 'Betrag UstSteuer 'nLohnbetrag = nLohnbetrag + nLohnUstBetrag 'BetragLohnnetto nSummeLohnBetrag = nSummeLohnBetrag + nLohnbetrag 'Summe Lohnbeträge nSummenLohnUstBetrag = nSummenLohnUstBetrag + nLohnUstBetrag 'Summe der Ust-Beträge If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then bAuftrhatgesamtrab = true end if bAuftrhatLohnleistung = true else If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then bAuftrhatgesamtrab = true end if bAuftrhatLohnleistung = true nSummeLohnBetrag = nSummeLohnBetrag + nLohnbetrag end if end if if bmitSchraffur = true then bmitSchraffur = false else bmitSchraffur = true end if Result_P= NextRecord(AUFTRPOSITION) 'Nächste Position End While 'Ende der Darstellung Rechnungsposten if (Nebenleistung = True) and (nAnzahlStNeben=0) then nAnzahlStNeben = 1 end if DrawCell(C_S_Bottom, true) SetFootercell(NULL) SetHeaderCell(NULL) nSumme = 0 'Seitenumbruch, wenn es für die folgenden Zeilen nicht mehr auf dieser Seite reicht ' Mit ZU nicht mehr nötig!! Da die automatischen ZWS nicht immer optisch angebracht sind! IF IS(LAY_TAB_MIT_STEUER) then nPosition = GetAreaLength() - GetPosY() - 8 * GetCellHeight(C_Zeile_s) If nPosition < 0 Then DrawCell(C_S_Zeile, True) PageBreak() end if else nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) If nPosition < 0 Then DrawCell(C_S_Bottom, True) PageBreak() end if End If HandleLayout(C_S_Zeile, False, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) '/////////////////////////////////////////////////////////////////// '-----------------------Zwischensumme ausgeben, wenn Rabatt oder Nebenleistung-------------- If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then 'Wenn Rabatt auf den gesamten Auftrag LeereZellen() 'Leeren der Zellen SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_GESAMT_HAUPTL_NET, CC_ORG, nCurrencyFormatDefault))) 'Zwischensumme Netto SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe der Zeile Zwischensumme strPuffer = "" If is(AUFTR_IST_GES_RAB_BETRAG) = false Then strPuffer = FormatNumeric("%.2f", GetNumeric(AUFTR_RAB_GES_PROZ)) + "% " End If 'Rabatt ausgeben LeereZellen() 'Felder der Zeile leeren SetCellText(C_S_Spalte_1, "abzgl. " + strPuffer + strRabatt) SetCellText(C_S_Spalte_2, GetGesamtRabatt()) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 1, PEN_NULL, COLOR_BLACK) 'Zeile ohne Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe des Rabatts End If 'Wenn es Nebenleistungen gibt, sieht Zwischensummenzeile anders aus If Nebenleistung Then 'Wenn es Nebenleistungen gibt LeereZellen() If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then 'Wenn Rabatt auf den gesamten Auftrag SetCellText(C_S_Spalte_1, "") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(AUFTR_NET_HAUPTL_NACH_RAB_ABZUG, CC_ORG, nCurrencyFormatDefault, nSumme))) 'Netto Hauptleistungen nach Rabattabzug Else SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(AUFTR_GESAMT_HAUPTL_NET, CC_ORG, nCurrencyFormatDefault, nSumme))) 'Netto Hauptleistungen nach Rabattabzug End If SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe Rabatt End if ' SetFootercell(C_S_Noetig) ' SetHeaderCell(C_HU_Zeile) '///////////////////////////////////////////////////////////////////////// '------------------------------Nebenleistungen----------------------------- SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + Cell_Border_Bottom, 1, HorzLinienArt, COLOR_BLACK) 'Zeile ohne Rahmen LeereZellen() 'Zelleninhalte löschen ' Alle Positionen eines Auftrags abklappern und unter Zwischensumme darstellen, wenn es sich um eine Nebenleistung handelt Result_P = FirstRecord(AUFTRPOSITION) While Result_P do 'Wenn es Nebenleistungen gibt If is(POS_IST_NEBENL) Then SetCellText(C_S_Spalte_1, "zzgl. " + Get(POS_TEXT)) 'Nebenleistung SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(POS_GES_NETPREIS, CC_ORG, nCurrencyFormatDefault, nBetrag))) 'Nebenleistung Betrag nSumme = nSumme + nBetrag DrawCell(C_S_Zeile, True) DrawCell(C_S_Bottom, True) SetCellText(C_S_Not_Spalte_2, HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, nSumme))) SetCellText(C_HU_Spalte_2, HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, nSumme))) LeereZellen() End If Result_P= NextRecord(AUFTRPOSITION) End While ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then '///////////////////////////////////////////////////////////// '---------------------Ausgabe der Steuern-------------------- SetHeaderCell(NULL) nSumme = 0 'Nur wenn auch USt. berechnet wurde ' If is(AUFTR_KEINE_UST) = false Then ' Steuerstätze zählen n = 0 nPosition = 0 If (Getnumeric("R", 59) <> 0) Or (GetNumeric("R", 83) <> 0) Or (GetNumeric("R", 103) <> 0) Or (GetNumeric("R", 39) <> 0) Then Steuern = True n = ZaehleSteuersaetze() 'Zählen der einzelnen Steuersätze und Beträge n = n + 1 ' einen Dazu, zur Korrektur nPosition = GetAreaLength() - GetPosY() - n * GetCellHeight(C_Zeile_s) End If SetCellText(C_S_Spalte_1, sTextGesamt) SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue("R", 110, CC_ORG, nCurrencyFormatDefault, nSumme))) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) 'Nettobetrag ' wenn Steuern auf der nächsten Seite dargestellt werden müssen, dann muß das Feld Nettobetrag ' auch unten einen Strich haben if nPosition < 0 then SetCellBorder(C_S_Zeile, CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) end if DrawCell(C_S_Zeile, true) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 0, PEN_NULL, COLOR_BLACK) If is("X", 15) then DrawCell(C_S_TOP, true) DrawCell(C_S_Bottom, true) End If LeereZellen() SelectFont(SchriftArtStandard) RemoveAllTabs() ' wenn Steuersätze nicht mehr auf diese Seite passen, dann Seitenumbruch und Darstellung ' auf der nächsten Seite if nPosition < 0 Then PageBreak() SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 1, HorzLinienArt, COLOR_BLACK) 'Nettobetrag DrawCell(C_S_Zeile, true) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 0, PEN_NULL, COLOR_BLACK) End if 'Ausgabe der einzelnen Umsatzsteuernsteuer mit Satz und Nettobeträge i=0 nNetTeilsum = 53 nBrutTeilsum = 58 nUstsum = 33 nUstsatz = 38 While i < nAnzahlSt do If bDruckeSteuerImmer Or (GetNumeric("R", nNetTeilsum) <> 0) Then If (GetNumeric("R", nUstsatz) <> 0) Or Is(AUFTR_HAT_NULLSTEUER) Then SteuernAusgabe(nUstsatz, nNetTeilsum, nUstsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, VertLinienArt, nSumme) Else Steuerfrei(nNetTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, VertLinienArt) End If End If i=i+1 nNetTeilsum = nNetTeilsum+1 nBrutTeilsum = nBrutTeilsum+1 nUstsum = nUstsum+1 nUstsatz = nUstsatz+1 End While ' Ausgabe Steuern auf Nebenleistungen i=0 nNetTeilsum = 98 nBrutTeilsum = 103 nUstsum = 78 nUstsatz = 83 While i < nAnzahlStNeben do If bDruckeSteuerImmer Or (GetNumeric("R", nNetTeilsum) <> 0) Then If (GetNumeric("R", nUstsatz) <> 0) Or Is(AUFTR_HAT_NULLSTEUER) Then SteuernAusgabe(nUstsatz, nNetTeilsum, nUstsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, VertLinienArt, nSumme) Else Steuerfrei(nBrutTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, VertLinienArt) End If End If i = i + 1 nNetTeilsum = nNetTeilsum + 1 nBrutTeilsum = nBrutTeilsum + 1 nUstsum = nUstsum + 1 nUstsatz = nUstsatz + 1 End While If is("X", 15) then DrawCell(C_S_TOP, true) DrawCell(C_S_Bottom, true) End If SetHeaderCell(NULL) SetFooterCell(NULL) '/////////////////////////////////////////////////////////////// '---------------------Formatierung der Gesamtsummenzeile------ 'NETTO nBreite = GetCellWidth(C_H_Spalte_1) + GetCellWidth(C_H_Spalte_2) + GetCellWidth(C_H_Spalte_3) + GetCellWidth(C_H_Spalte_4) + GetCellWidth(C_H_Spalte_5) + GetCellWidth(C_H_Spalte_6) + GetCellWidth(C_H_Spalte_6a) - (2*(GetCellWidth(C_H_Spalte_7))) C_S_Text = GetFormatCell(nBreite, 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_2 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_3 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_4 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Spalte_1 = GetFormatCell(nBreite , 0, C_S_Gesamt, C_C_S_SPALTE) C_S_Spalte_1a = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Gesamt, C_C_S_SPALTE) C_S_Spalte_1b = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Gesamt, C_C_S_SPALTE) C_S_Spalte_2 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Gesamt, C_C_S_SPALTE) SetRowStandard(C_S_Gesamt, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_1, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_2, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetRowStandard(C_S_Abschlag, SchriftArtStandard, CELL_TEXT_LEFT, -1) ' beim Abschlag Forderungen drucken if (IsMitAbschlag()) then SetCellBorder(C_S_Gesamt, CELL_BORDER_TOP, 1, HorzLinienArt, nFarbe) SetCellBorder(C_S_Gesamt, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 1, VertLinienArt, nFarbe) 'Ausgabe des Rechnungsbetrages SetCellText(C_S_Spalte_1, sTextGesamtbetrag + "\n") SetCellText(C_S_Spalte_2, "" + HCS(GetCurrencyFormat(AUFTR_RG_BETRAG, CC_ORG, nCurrencyFormatDefault)) + "\n") DrawCell(C_S_Gesamt, true) 'Seitenumbruch, wenn es für die folgenden Zeilen nicht mehr auf dieser Seite reicht nPosition = GetAreaLength() - GetPosY() - 8 * GetCellHeight(C_Zeile_s) If nPosition < 0 Then DrawCell(C_S_Bottom, True) PageBreak() End If SetCellStandard(C_S_Text, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Text_2, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Text_3, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Text_4, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_1a, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Spalte_1b, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Spalte_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellBorder(C_S_Abschlag, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 1, VertLinienArt, nFarbe) SetCellBorder(C_S_Abschlag, CELL_BORDER_Top, 1, HorzLinienArt, nFarbe) 'Ausgabe des Abschlags SetCellText(C_S_Text, "\nAbzgl. bereits erhalten:") SetCellText(C_S_Text_2, "\nNetto") SetCellText(C_S_Text_3, "\n" + sUstText ) SetCellText(C_S_Text_4, "\nBrutto") DrawCell(C_S_Abschlag, true) Result_G = FirstRecord("G") While Result_G do bHatAbschlag = TRUE SetFormatNumericOptions(FN_CUSTOM, "", "") SetCellText(C_S_Spalte_1, "Abschlagsre. Nr. " + FormatNumeric("%.0f", GetNumeric(ABS_RE_NR)) + " vom " + FormatDate("%d.%m.%Y", GetDate(ABS_RE_DATUM)) + " (" + sUstText + " " + FormatNumeric("%.2f", GetNumeric(ABS_RE_SSATZ))+ " %)") SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Spalte_1a, HCS(GetCurrencyFormat(ABS_RE_NETTO, CC_ORG, nCurrencyFormatDefault))) SetCellText(C_S_Spalte_1b, HCS(GetCurrencyFormat(ABS_RE_UST, CC_ORG, nCurrencyFormatDefault))) SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(ABS_RE_GESAMT, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Gesamt, true) Result_G = NextRecord("G") End While if bHatAbschlag = False then nTemp1x = GetNumeric(AUFTR_ABSCHLAG_ERHALTEN) strTemp2x= FormatNumeric("%.2f", GetNumeric(AUFTR_ABSCHLAG_NETTO)) nTemp2x = StringToNumeric(strTemp2x) strUstAbschlag = nTemp1x - nTemp2x SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Spalte_1, GetTextAbschlagsbetrag()) SetCellText(C_S_Spalte_1a, HCS(GetCurrencyFormat(AUFTR_ABSCHLAG_NETTO, CC_ORG, nCurrencyFormatDefault))) SetCellText(C_S_Spalte_1b, FormatNumeric("%.2f", strUstAbschlag) + strWaehrungsSymbol) SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_ABSCHLAG_ERHALTEN, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Gesamt, true) end if end if ClearRow(C_S_Gesamt, "") '/////////////////////////////////////////////////////////////// '---------------------Formatierung der Gesamtsummenzeile------ SetCellStandard(C_S_Spalte_1, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_2, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) ' die Zellen für den Gesamtbetrag neu formatieren SetCellBorder(C_S_Gesamt, CELL_BORDER_BOTTOM, 5, HorzLinienArt, COLOR_BLACK) SetCellBorder(C_S_Gesamt, CELL_BORDER_TOP, 1, HorzLinienArt, COLOR_BLACK) if VertLinienArt <> PEN_NULL then SetCellBorder(C_S_Gesamt, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, PEN_SOLID, COLOR_BLACK) else SetCellBorder(C_S_Gesamt, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, VertLinienArt, COLOR_BLACK) end if SetCellBorder(C_S_Spalte_2, CELL_BORDER_LEFT, 0, VertLinienArt, COLOR_BLACK) ' beim Abschlag Forderungen drucken if (IsMitAbschlag()) then nTemp1 = GetNumeric(AUFTR_UST_GESBETRAG) nTemp2 = GetNumeric(AUFTR_ABSCHLAG_STEUER) strUstForderung = nTemp1 - nTemp2 SetCellBorder(C_S_Spalte_1, CELL_BORDER_BOTTOM, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Gesamt, CELL_BORDER_BOTTOM, 0, PEN_NULL, COLOR_BLACK) SetCellText(C_S_Spalte_1, "Forderungsbetrag") SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_ABSCHLAG_FORDER, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Gesamt, true) ClearRow(C_S_Gesamt, "") SetCellBorder(C_S_Gesamt, CELL_BORDER_TOP, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Spalte_1, CELL_BORDER_TOP, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Gesamt, CELL_BORDER_BOTTOM, 5, PEN_SOLID, COLOR_BLACK) SetCellStandard(C_S_Spalte_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) If (Getnumeric(ABS_RE_UST) <> 0) OR (Getnumeric(AUFTR_ABSCHLAG_STEUER) <> 0) OR (Getnumeric(AUFTR_UST_GESBETRAG) <> 0) OR Is(AUFTR_HAT_NULLSTEUER) then SetCellText(C_S_Spalte_1, "Im Forderungsbetrag sind " + FormatNumeric("%.2f", strUstForderung) + " " + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) + " " + sUstText + " enthalten.") else if b13Umsatzsteuer = false then SetCellText(C_S_Spalte_1, "Der Forderungsbetrag ist steuerfrei" + sGrundstfrei + ".") end if end if DrawCell(C_S_Gesamt, true) ClearRow(C_S_Gesamt, "") else SetCellText(C_S_Spalte_1, "\n" + sTextGesamtbetrag) SetCellText(C_S_Spalte_2, "\n" + HCS(GetCurrencyFormat(AUFTR_RG_BETRAG, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Gesamt, true) end if 'Zusatz für steuerfreie Aufträge nach § 13b UStG. - ab 01.04.04! if b13Umsatzsteuer = TRUE then ClearRow(C_S_Gesamt, "") SetCellBorder(C_S_Spalte_1, CELL_BORDER_RIGHT, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Spalte_2, CELL_BORDER_LEFT, 0, PEN_NULL, COLOR_BLACK) if IS("K", 79)= false then SetCellText(C_S_Gesamt, "\n" + strText13bUstG) else SetCellText(C_S_Gesamt, "\n" + strText13bUstGSo) end if SetCellStandard(C_S_Gesamt, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellBorder(C_S_Gesamt, CELL_BORDER_ALL, 0, PEN_SOLID, COLOR_BLACK) DrawCell(C_S_Gesamt, true) end if end if SetFormatNumericOptions(FN_CUSTOM, "", "") LeereZellen() End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - FuelleTabelleBrutto() 'Füllen der Tabelle für einen BruttoAuftrag '//////////////////////////////////////////////////////////////// Function FuelleTabelleBrutto() dim bHatAbschlag as bool = false Dim nCount as numeric 'Stücklistenpositionen Dim ArtikelLine as Numeric 'Artikelpos. Höhe strProzent = "" bAuftrhatLohnleistung = false bAuftrhatgesamtrab = false nSummeLohnUst = 0 nLohnUst = 0 nRabattprozentual = 0 nRabattabsolut = 0 nSummeHauptleistung = 0 nSummeLohnbetragProz = 0 nSummeRabattLohn = 0 nSonstKosten = 0 nLohnbetrag = 0 nSummeLohnBetrag = 0 nRabattbetrag = 0 bAuftrLohnUst = false nSummenLohnUstBetrag = 0 nRabattBetragLL = 0 DrawCell(C_H_Zeile, True) 'SpaltenÜberschriften SetHeaderCell(C_H_Head) ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then SetFooterCell(C_S_Zeile) else SetFooterCell(C_S_Bottom) end if nCurrencySymbol = CURRENCY_SYMBOL_HIDE ' Ausgabe mit CURRENCY_SYMBOL_RIGHT hat unter '95 und '98 ein Problem, deshalb selbst formatieren if bMitWaehrung then strWaehrungsSymbol = " " + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strProzent = " %" end if ' in dieser Schleife werden alle Rechnungsposten ausgelesen und entsprechend in den Spalten dargestellt ' die Ausgabe der Summenzeilen erfolgt in einer separaten Schleife Result_P= FirstRecord(AUFTRPOSITION) 'Erster Rechungsposten Dim Result_Z as bool While Result_P Do nSteuerSatz = GetNumeric(POS_UST_SATZ) If IS(POS_IST_LOHNLEISTUNG) then nUstLohn = GetNumeric(POS_GES_UST) if nUstLohnalt <> nUstLohn then bAuftrLohnUst = true end if nUstLohnalt = nUstLohn end if ' Zwischensumme if is (POS_IST_ZWSUMME) then SetCellText(C_Spalte_1, "Z") 'Position als Zwischensumme kennzeichnen SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if if IS(POS_IST_TEXTPOS) then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) end if ' nur wenn keine Nebenleistungen if IS(POS_IST_NEBENL) = FALSE then if nAnzahlSt = 0 then nAnzahlSt = 1 'erhöhe Anzahl Steuersätze wg. nicht steuerbaren end if 'manueller Artikel, Stammartikel, Alternativpos IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_KOMMENTAR) OR IS(POS_IST_LOHNLEISTUNG) Then 'AlternativPosition ? if (IS (POS_IST_ALTERNATIV) = true) OR (IS(POS_IST_MANALTERNATIV)) then 'HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, ARIAL_KURSIV_9, PEN_NULL, VertLinienArt, nRand) SetCellText(C_Spalte_1, "A") 'Position als Alternativ kennzeichnen else if IS(POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_1, SchriftArtKommentar) SetCellText(C_Spalte_1,"") else SetCellText(C_Spalte_1, FormatNumeric("%.0f", GetNumeric(POS_NR))) 'PositionNr end if end if if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if (Get("A", 52) <> "") AND bmitBildAnhang = true then bBildExist = true end if if bmitBildSpalte and nBildSpalteAuswahl = 0 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) end if if IS(POS_IST_KOMMENTAR) then SetCellText(C_Spalte_2,"") else SetCellText(C_Spalte_2, FormatNumeric(FormatMenge, GetNumeric(POS_MENGE))) 'Menge end if SetCellText(C_Spalte_3, Get(POS_EINHEIT)) 'Einheit ' Artikelnummer nur, wenn keine Manuelle Position und Spalte sichtbar IF IS( POS_IST_MANUELLE_POS ) = FALSE AND nBreiteSpalte_3 > 0 then ' wenn eine Bestellung, dann nicht die normale Artikelnummer des Artikels nehmen, sondern ' die Artikelnummer des Lieferanten If is(AUFTR_IST_B) then if IS(POS_IST_DATANORM) OR Get(POS_BESTEL_NR) = "" then strTemp = Get(POS_ART_NR) 'Artikelnummer bei Datanorm oder bei leerer Bestellnr else strTemp = Get(POS_BESTEL_NR) 'Artikelnummer beim Lieferanten end if else strTemp = Get(POS_ART_NR) 'Artikelnummer end if 'Nummer ausgeben und ggf. das Artikelbild SetCellText(C_Spalte_4, strTemp) if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if bmitBildSpalte = True and nBildSpalteAuswahl = 1 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) end if ELSE SetCellText(C_Spalte_4, "") SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) end if end if end if ' alle Positionsarten ausser Nebenleistungen If IS( POS_IST_NEBENL ) = FALSE Then if IS (POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_5, SchriftArtKommentar) end if PrintArtikelText(C_Spalte_5) 'Artikelbezeichnungen if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if bmitBildSpalte = true and nBildSpalteAuswahl = 2 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) end if ArtikelLine = GetCellHeight(C_Spalte_5) if bStuecklistenArtikelAnzeigen then If is (ART_MIT_STUECKLISTE) = true AND ((IS( POS_IST_STAMMART ) = true) AND IS( POS_IST_ALTERNATIV ) = true) then nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) - GetCellHeight(C_Spalte_5) - (nCount * GetCellHeight(C_Zeile_s)) if nPosition < 0 then DrawCell(C_S_Zeile, True) Pagebreak() end if end if end if SetCurrencyNKStellen(GetNumeric(FA_NACHKOMMAST_EK)) 'setzen der Nachkommastellen wie in den Optionen ' Währung nur anzeigen, wenn Wert nicht 0 if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_ZWSUMME ) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if if nBreiteSpalte_5 > 0 Then SetCelltext(C_Spalte_6, HCS(GetCurrencyFormat(POS_EINZELPREIS, CC_ORG, nCurrencyFormat))) 'Ausgabe des Einzelpreises end if SetCurrencyNKStellen( 2 ) 'setzen der Nachkommastellen auf 2 für rabatt und Gesamtpreis ' Steuer statt Rabatt ausgeben IF bSteuerStattRabatt THEN 'Prozentsatz des Steuersatzes bei Textpositionen nicht ausgeben IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_LOHNLEISTUNG) then SetCellText(C_Spalte_7, GetPositionsUStSatz() ) end if ELSE if nBreiteSpalte_6 > 0 Then if GetNumeric(POS_RAB_PROZENT) <> 0 Then 'wenn Rabatt ausgewählt SetCellText(C_Spalte_7, FormatNumeric("%.2f", GetNumeric(POS_RAB_PROZENT)) + strProzent) 'Ausgabe des Rabattes end if end if END IF IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS( POS_IST_ALTERNATIV ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_MANALTERNATIV) OR IS(POS_IST_LOHNLEISTUNG) Then if nBreiteSpalte_6a > 0 then SetCellText(C_Spalte_7a, GetPositionsUStSatz() ) end if end if if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if ' den Gesamtbetrag bei einer Alternativposition in Klammern setzen strPuffer = HCS(GetCurrencyFormatValue(POS_GES_BRUTPREIS, CC_ORG, nCurrencyFormat, nBetrag)) if (IS( POS_IST_ALTERNATIV )) OR (IS(POS_IST_MANALTERNATIV) )then strPuffer = "( " + strPuffer + " )" end if if nBreiteSpalte_7 > 0 then SetCelltext(C_Spalte_8, strPuffer ) 'Ausgabe Gesamtpreis end if ' AlternativPosition und Zwischensumme nicht in ZW-Berechnung if (is (POS_IST_ALTERNATIV) = false) AND (IS(POS_IST_MANALTERNATIV) = false) AND (is (POS_IST_ZWSUMME ) = false) then nSumme = nSumme + nBetrag 'Aufsummieren für den Übertrag, wenn keine Alternativpos end if if IS(POS_IST_KOMMENTAR) = false then if is (POS_IST_SEITENUMBRUCH) then 'Ausgabe der Zeile SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if DrawCell(C_Zeile, True) else if IS(AUFTR_MIT_KOMMENTAR) = true then DrawCell(C_Zeile, True) end if end if If is (POS_IST_SEITENUMBRUCH) Then DrawCell(C_S_Zeile, True) PageBreak() end if if bStuecklistenArtikelAnzeigen Then LeereZellen() IF (IS( POS_IST_STAMMART )) OR (IS(POS_IST_ALTERNATIV)) Then Result_Z = FirstRecord("Z") if Result_Z then SetCellFont(C_Spalte_5s, "Arial", 8, FONT_BOLD, COLOR_BLACK) SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, "") SetCellText(C_Spalte_3s, "") SetCellText(C_Spalte_4s, "") SetCellText(C_Spalte_5s, "bestehend aus:") SetCellText(C_Spalte_6s, "") SetCellText(C_Spalte_7s, "") SetCellText(C_Spalte_7sa, "") SetCellText(C_Spalte_8s, "") DrawCell(C_Zeile_s, True) nCount = 3 While Result_Z do ' Menge, Einheit, Artikelnummer, Bezeichnung SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, FormatNumeric(FormatMenge, GetNumeric(STL_POS_MENGE))) SetCellText(C_Spalte_3s, Get(STL_POS_EINHEIT)) SetCellText(C_Spalte_4s, Get(STL_POS_NR)) SetCellText(C_Spalte_5s, Get(STL_POS_BEZ)) SetCellFont(C_Spalte_1s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_2s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_3s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_4s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_5s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) DrawCell(C_Zeile_s, True) nCount = nCount + 1 Result_Z = NextRecord("Z") End While end if LeereZellen() end if end if if IS(POS_IST_LOHNLEISTUNG) then nLohnbetrag = GetNumeric(POS_GES_BRUTPREIS) if is(KD_UMSAETZE_NICHT_STEUERBAR) = False then nLohnUst = 0.00 else nLohnUst = GetNumeric("P", 12) end if if bAuftrLohnUst = true then nSummeLohnBetrag = nSummeLohnBetrag + nLohnbetrag 'Summe Lohnbeträge nSummenLohnUstBetrag = nSummenLohnUstBetrag + nLohnUstBetrag 'Summe der Ust-Beträge If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then bAuftrhatgesamtrab = true end if bAuftrhatLohnleistung = true else If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then bAuftrhatgesamtrab = true end if bAuftrhatLohnleistung = true nSummeLohnBetrag = nSummeLohnBetrag + nLohnbetrag end if end if LeereZellen() if bMitSchraffur = true then bMitSchraffur = false else bMitSchraffur = true end if 'Wenn es Nebenleistungen gibt else Nebenleistung = True 'wird für Darstellung der Zwischensummenzeile benötigt end if ' Standard zurückstellen ' if is( POS_IST_ALTERNATIV ) then ' HandleLayout(C_Zeile, bMitSchraffur, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) ' end if Result_P= NextRecord(AUFTRPOSITION) 'Nächste Position End While 'Ende der Darstellung Rechnungsposten if (Nebenleistung = True) and (nAnzahlStNeben=0) then nAnzahlStNeben = 1 end if DrawCell(C_S_Bottom, true) SetFooterCell(NULL) SetHeaderCell(NULL) nSumme = 0 'Seitenumbruch, wenn es für die folgenden Zeilen nicht mehr auf dieser Seite reicht ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then nPosition = GetAreaLength() - GetPosY() - 8 * GetCellHeight(C_Zeile_s) if b13Umsatzsteuer then nPosition = GetAreaLength() - GetPosY() - 10 * GetCellHeight(C_Zeile_s) end if If nPosition < 0 Then DrawCell(C_S_Zeile, True) PageBreak() end if else nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) If nPosition < 0 Then DrawCell(C_S_Bottom, True) PageBreak() end if End If HandleLayout(C_S_Zeile, False, nSchraffurFarbe, SchriftArtStandard, PEN_NULL, VertLinienArt, nRand) '/////////////////////////////////////////////////////////////////// '-----------------------Zwischensumme ausgeben, wenn Rabatt oder Nebenleistung-------------- If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then 'Wenn Rabatt auf den gesamten Auftrag LeereZellen() 'Leeren der Zellen SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_GESAMT_HAUPTL_BRUT, CC_ORG, nCurrencyFormatDefault))) 'Zwischensumme Netto SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe der Zeile Zwischensumme strPuffer = "" If is(AUFTR_IST_GES_RAB_BETRAG) = false Then strPuffer = FormatNumeric("%.2f", GetNumeric(AUFTR_RAB_GES_PROZ)) + "% " End If 'Rabatt ausgeben LeereZellen() 'Felder der Zeile leeren SetCellText(C_S_Spalte_1, "abzgl. " + strPuffer + strRabatt) SetCellText(C_S_Spalte_2, GetGesamtRabatt()) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 1, PEN_NULL, COLOR_BLACK) 'Zeile ohne Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe des Rabatts End If 'Wenn es Nebenleistungen gibt, sieht Zwischensummenzeile anders aus If Nebenleistung Then 'Wenn es Nebenleistungen gibt LeereZellen() If GetNumeric(AUFTR_RAB_GESAUFTR_DEM) <> 0 Then 'Wenn Rabatt auf den gesamten Auftrag SetCellText(C_S_Spalte_1, "") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(AUFTR_BRUT_HAUPTL_NACH_RAB_ABZUG, CC_ORG, nCurrencyFormatDefault, nSumme))) 'Netto Hauptleistungen nach Rabattabzug Else SetCellText(C_S_Spalte_1, "Zwischensumme") SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(AUFTR_GESAMT_HAUPTL_BRUT, CC_ORG, nCurrencyFormatDefault, nSumme))) 'Netto Hauptleistungen nach Rabattabzug End If SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 1, HorzLinienArt, COLOR_BLACK) 'Zeile mit Rahmen DrawCell(C_S_Zeile, True) 'Ausgabe Rabatt End if IF IS(LAY_TAB_MIT_STEUER) then SetFootercell(C_S_Noetig) else SetFooterCell(C_S_Bottom) end if ' SetFootercell(C_S_Noetig) SetHeaderCell(C_HU_Zeile) '///////////////////////////////////////////////////////////////////////// '------------------------------Nebenleistungen----------------------------- SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + Cell_Border_Bottom, 0, HorzLinienArt, COLOR_BLACK) 'Zeile ohne Rahmen LeereZellen() 'Zelleninhalte löschen ' Alle Positionen eines Auftrags abklappern und unter Zwischensumme darstellen, wenn es sich um eine Nebenleistung handelt Result_P = FirstRecord(AUFTRPOSITION) While Result_P do 'Wenn es Nebenleistungen gibt If is(POS_IST_NEBENL) Then SetCellText(C_S_Spalte_1, "zzgl. " + Get(POS_TEXT)) 'Nebenleistung SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormatValue(POS_GES_BRUTPREIS, CC_ORG, nCurrencyFormatDefault, nBetrag))) 'Nebenleistung Betrag nSumme = nSumme + nBetrag DrawCell(C_S_Zeile, True) SetCellText(C_S_Not_Spalte_2, HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, nSumme))) SetCellText(C_HU_Spalte_2, HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, nSumme))) LeereZellen() End If Result_P= NextRecord(AUFTRPOSITION) End While '/////////////////////////////////////////////////////////////// '---------------------Formatierung der Gesamtsummenzeile------ 'BRUTTO ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then nBreite = GetCellWidth(C_H_Spalte_1) + GetCellWidth(C_H_Spalte_2) + GetCellWidth(C_H_Spalte_3) + GetCellWidth(C_H_Spalte_4) + GetCellWidth(C_H_Spalte_5) + GetCellWidth(C_H_Spalte_6) + GetCellWidth(C_H_Spalte_6a)'- (2*(GetCellWidth(C_H_Spalte_7))) C_S_Spalte_1 = GetFormatCell(nBreite, 0, C_S_Gesamt, C_C_S_SPALTE) C_S_Spalte_2 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Gesamt, C_C_S_SPALTE) SetRowStandard(C_S_Gesamt, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_1, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Spalte_2, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetRowStandard(C_S_Abschlag, SchriftArtStandard, CELL_TEXT_LEFT, -1) ' den Abschlag nur bei Rechnungen und Sammelrechnungen SetCellBorder(C_S_Gesamt, CELL_BORDER_TOP, 1, HorzLinienArt, nFarbe) SetCellBorder(C_S_Gesamt, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 1, VertLinienArt, nFarbe) 'Ausgabe des Rechnungsbetrages SetCellText(C_S_Spalte_1, "\n" + sTextGesamtbetrag) SetCellText(C_S_Spalte_2, "\n" + HCS(GetCurrencyFormat(AUFTR_RG_BETRAG, CC_ORG, nCurrencyFormatDefault))) 'SetCellBorder(C_S_Gesamt, CELL_BORDER_BOTTOM, 5, HorzLinienArt, COLOR_BLACK) SetCellBorder(C_S_Gesamt, CELL_BORDER_TOP, 1, HorzLinienArt, COLOR_BLACK) DrawCell(C_S_Gesamt, true) ClearRow(C_S_Gesamt, "") END IF '///////////////////////////////////////////////////////////// '---------------------Ausgabe der Steuern-------------------- Dim Summe_Net as numeric = 0 Dim nSumme_Mwst as numeric = 0 Dim Summe_Ges as numeric = 0 Dim UST1 As Numeric = 0 Dim UST2 As Numeric = 0 Dim UST3 As Numeric = 0 Dim UST4 As Numeric = 0 Dim UST5 As Numeric = 0 Dim UstNeben1 as Numeric = 0 Dim UstNeben2 as Numeric = 0 Dim UstNeben3 as Numeric = 0 Dim UstNeben4 as Numeric = 0 Dim UstNeben5 as Numeric = 0 IF IS(LAY_TAB_MIT_STEUER) then SetHeaderCell(NULL) nBreite = nBreiteSpalte_1 + nBreiteSpalte_2 + nBreiteSpalte_3 + nBreiteSpalte_4 + nBreiteSpalte_5 + nBreiteSpalte_6 + nBreiteSpalte_6a + nBreiteSpalte_7 C_S_SteuerBruttoText_1 = GetFormatCell(nBreite, 0, C_S_SteuerBruttoText, C_C_S_SPALTE) SetCellStandard(C_S_SteuerBruttoText_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellBorder(C_S_SteuerBruttoText_1, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, VertLinienArt, COLOR_BLACK) nSumme = 0 n = 0 nPosition = 0 If (Getnumeric("R", 59) <> 0) Or (GetNumeric("R", 83) <> 0) Or (GetNumeric("R", 103) <> 0) Or (GetNumeric("R", 39) <> 0) Then Steuern = True n = ZaehleSteuersaetzeBrutto() 'Zählen der einzelnen Steuersätze und Beträge n = n + 1 ' einen Dazu, zur Korrektur nPosition = GetAreaLength() - GetPosY() - n * GetCellHeight(C_Zeile_s) End If UST1 = GetNumeric("R", 33) UST2 = GetNumeric("R", 34) UST3 = GetNumeric("R", 35) UST4 = GetNumeric("R", 36) UST5 = GetNumeric("R", 37) UstNeben1 = GetNumeric("R", 78) UstNeben2 = GetNumeric("R", 79) UstNeben3 = GetNumeric("R", 80) UstNeben4 = GetNumeric("R", 81) UstNeben5 = GetNumeric("R", 82) Summe_Ges = GetNumeric("R", 24) nSumme_Mwst = UST1 + UST2 + UST3 + UST4+ UST5 + UstNeben1 + UstNeben2 + UstNeben3 + UstNeben4 + UstNeben5 Summe_Net = Summe_Ges - nSumme_Mwst ' Steuerausgabe nur wenn, 2 Teilsummen, oder zwei Steuersätze vorhanden sind If (GetNumeric(AUFTR_BRUT_TEILSUM_2) <> 0) Or (GetNumeric(AUFTR_NEBENL_UST_SATZ_1) <> 0 ) Or (GetNumeric(AUFTR_NEBENL_BRUT_1) <> 0 ) Or (GetNumeric(AUFTR_UST_SATZ_SUM_2) <> 0 ) Then strTemp = "\nDer " + sTextGesamtbetrag + " setzt sich wie nachfolgend zusammen: " SetCellText(C_S_SteuerBruttoText_1, strTemp + "\n") DrawCell(C_S_SteuerBruttoText_1, True) 'Ausgabe der einzelnen Umsatzsteuernsteuer mit Satz und Nettobeträge i=0 nNetTeilsum = 53 'Bruttosumme - da inkl. nBrutTeilsum = 58 nUstsum = 33 nUstsatz = 38 While i < nAnzahlSt do If bDruckeSteuerImmer Or (GetNumeric("R", nNetTeilsum) <> 0) Then If (GetNumeric("R", nUstsatz) <> 0) Or Is(AUFTR_HAT_NULLSTEUER) Then SteuernAusgabeBrutto(nUstsatz, nBrutTeilsum, nUstsum, nNetTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, PEN_NULL, nSumme) Else SteuerfreiBrutto(nBrutTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, PEN_NULL) End If End If i=i+1 nNetTeilsum = nNetTeilsum+1 nBrutTeilsum = nBrutTeilsum+1 nUstsum = nUstsum+1 nUstsatz = nUstsatz+1 End While ' Ausgabe Steuern auf Nebenleistungen i=0 nNetTeilsum = 98 'Bruttosumme - da inkl. nBrutTeilsum = 103 nUstsum = 78 nUstsatz = 83 While i < nAnzahlStNeben do If bDruckeSteuerImmer Or (GetNumeric("R", nNetTeilsum) <> 0) Then If (GetNumeric("R", nUstsatz) <> 0) Or Is(AUFTR_HAT_NULLSTEUER) Then SteuernAusgabeBrutto(nUstsatz, nBrutTeilsum, nUstsum, nNetTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, PEN_NULL, nSumme) Else SteuerfreiBrutto(nBrutTeilsum, nBreite, GetCellWidth(C_H_Spalte_7), SchriftArtStandard, PEN_NULL) End If End If i = i + 1 nNetTeilsum = nNetTeilsum + 1 nBrutTeilsum = nBrutTeilsum + 1 nUstsum = nUstsum + 1 nUstsatz = nUstsatz + 1 End While SetHeaderCell(NULL) SetFooterCell(NULL) If is("X", 17) then DrawCell(C_S_Bottom, true) End If Else 'Wenn nur einen Umsatzsteuersatz gibt n = GetNumeric(AUFTR_UST_GESBETRAG) if (n <> 0) Or (GetNumeric(AUFTR_UST_SATZ_SUM_1) <> 0) Or (Is(AUFTR_HAT_NULLSTEUER)) then SetCellText(C_S_SteuerBruttoText_1, "\nDer " + sTextGesamtbetrag+ " setzt sich aus Netto " + HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, Summe_Net)) + " zuzüglich " + FormatNumeric("%.2f", GetNumeric(AUFTR_UST_SATZ_SUM_1)) + "% " + sUstText + " = " + HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, n)) + " zusammen.") SetCellBorder(C_S_SteuerBruttoText_1, CELL_BORDER_Bottom, 0, HORZLinienArt, COLOR_BLACK) DrawCell(C_S_SteuerBruttoText_1, True) else SetCellText(C_S_SteuerBruttoText_1, "\nDer " + sTextGesamtbetrag + " ist steuerfrei" + sGrundstfrei + ".") SetCellBorder(C_S_SteuerBruttoText_1, CELL_BORDER_Bottom, 0, HORZLinienArt, COLOR_BLACK) if b13Umsatzsteuer = false then DrawCell(C_S_SteuerBruttoText_1, True) end if end if end if DrawCell(C_S_Bottom, true) end if if (b13Umsatzsteuer = TRUE) then if IS("K", 79)= false then SetCellText(C_S_SteuerBruttoText_1, "\n" + strText13bUstG) else SetCellText(C_S_SteuerBruttoText_1, "\n" + strText13bUstGSo) end if SetCellBorder(C_S_SteuerBruttoText_1, CELL_BORDER_Bottom, 0, HORZLinienArt, COLOR_BLACK) DrawCell(C_S_SteuerBruttoText_1, True) end if LeereZellen() '/////////////////////////////////////////////////////////////// '---------------------Formatierung der Gesamtsummenzeile------ 'BRUTTO Dim dfABS_RE_GESAMT as numeric Dim dftABS_RE_UST as numeric Dim dftABS_NETTO as numeric ' Ausgabe der Steuern, nur wenn ausgewählt IF IS(LAY_TAB_MIT_STEUER) then 'Seitenumbruch, wenn es für die folgenden Zeilen (Abschlagszahlungne) nicht mehr auf dieser Seite reicht if (IsMitAbschlag()) then nPosition = GetAreaLength() - GetPosY() - 8 * GetCellHeight(C_Zeile_s) else nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) end if If nPosition < 0 Then PageBreak() End If nBreite = GetCellWidth(C_H_Spalte_1) + GetCellWidth(C_H_Spalte_2) + GetCellWidth(C_H_Spalte_3) + GetCellWidth(C_H_Spalte_4) + GetCellWidth(C_H_Spalte_5) + GetCellWidth(C_H_Spalte_6) + GetCellWidth(C_H_Spalte_6a) - (2*(GetCellWidth(C_H_Spalte_7))) C_S_Text = GetFormatCell(nBreite , 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_2 = GetFormatCell(GetCellWidth(C_H_Spalte_7) + 50, 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_3 = GetFormatCell(GetCellWidth(C_H_Spalte_7) - 50, 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Text_4 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Abschlag, C_C_S_SPALTE) C_S_Forder_1 = GetFormatCell(nBreite , 0, C_S_Forder, C_C_S_SPALTE) C_S_Forder_2 = GetFormatCell(GetCellWidth(C_H_Spalte_7) + 50, 0, C_S_Forder, C_C_S_SPALTE) C_S_Forder_3 = GetFormatCell(GetCellWidth(C_H_Spalte_7) - 50, 0, C_S_Forder, C_C_S_SPALTE) C_S_Forder_4 = GetFormatCell(GetCellWidth(C_H_Spalte_7), 0, C_S_Forder, C_C_S_SPALTE) SetRowStandard(C_S_Forder, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Forder_1, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Forder_4, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetRowStandard(C_S_Abschlag, SchriftArtStandard, CELL_TEXT_LEFT, -1) ' beim Abschlag Forderungen drucken if (IsMitAbschlag()) then SetCellStandard(C_S_Text, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Text_2, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Text_3, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Text_4, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Forder_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Forder_2, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Forder_3, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellStandard(C_S_Forder_4, SchriftArtStandard, CELL_TEXT_RIGHT, -1) SetCellBorder(C_S_Abschlag, CELL_BORDER_TOP, 0,HorzLinienArt, nFarbe) SetCellBorder(C_S_Abschlag, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 1, VertLinienArt, nFarbe) SetCellBorder(C_S_Forder, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 1, VertLinienArt, nFarbe) 'Ausgabe des Abschlags SetCellText(C_S_Text, "\nAbzgl. bereits erhalten:") SetCellText(C_S_Text_2, "\nNetto") SetCellText(C_S_Text_3, "\n" + sUstText) SetCellText(C_S_Text_4, "\nBrutto") DrawCell(C_S_Abschlag, true) Result_G = FirstRecord("G") While Result_G do bHatAbschlag = TRUE dfABS_RE_GESAMT = GetNumeric(ABS_RE_GESAMT)', CC_ORG, nCurrencySymbol) dftABS_RE_UST = GetNumeric(ABS_RE_UST)', CC_ORG, CURRENCY_SYMBOL_HIDE) dftABS_NETTO = dfABS_RE_GESAMT - dftABS_RE_UST SetFormatNumericOptions(FN_CUSTOM, "", "") SetCellText(C_S_Forder_1, "Abschlagsre. Nr. " + FormatNumeric("%.0f", GetNumeric(ABS_RE_NR)) + " vom " + FormatDate("%d.%m.%Y", GetDate(ABS_RE_DATUM)) + " (" + sUstText + " " + FormatNumeric("%.2f", GetNumeric(ABS_RE_SSATZ))+ " %)") SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Forder_2, FormatNumeric("%.2f", dftABS_NETTO ) + strWaehrungsSymbol) SetCellText(C_S_Forder_3, HCS(GetCurrencyFormat(ABS_RE_UST, CC_ORG, nCurrencyFormatDefault))) SetCellText(C_S_Forder_4, HCS(GetCurrencyFormat(ABS_RE_GESAMT, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Forder, true) SetFormatNumericOptions(FN_CUSTOM, "", "") ClearRow(C_S_Forder, "") Result_G = NextRecord("G") End While ClearRow(C_S_Forder, "") if bHatAbschlag = False then nTemp1x = GetNumeric(AUFTR_ABSCHLAG_ERHALTEN) strTemp2x= FormatNumeric("%.2f", GetNumeric(AUFTR_ABSCHLAG_NETTO)) nTemp2x = StringToNumeric(strTemp2x) strUstAbschlag = nTemp1x - nTemp2x SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Forder_1, GetTextAbschlagsbetrag()) SetCellText(C_S_Forder_2, FormatNumeric("%.2f", GetNumeric(AUFTR_ABSCHLAG_NETTO)) + strWaehrungsSymbol) SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Forder_3, FormatNumeric("%.2f", strUstAbschlag)+ strWaehrungsSymbol) SetCellText(C_S_Forder_4, HCS(GetCurrencyFormat(AUFTR_ABSCHLAG_ERHALTEN, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Forder, true) SetFormatNumericOptions(FN_CUSTOM, "", "") end if end if ClearRow(C_S_Forder, "") '/////////////////////////////////////////////////////////////// '---------------------Formatierung der Gesamtsummenzeile------ SetCellStandard(C_S_Forder_1, SchriftArtGesamtbetrag, CELL_TEXT_LEFT, -1) SetCellStandard(C_S_Forder_4, SchriftArtGesamtbetrag, CELL_TEXT_RIGHT, -1) ' die Zellen für den Gesamtbetrag neu formatieren SetCellBorder(C_S_Forder, CELL_BORDER_BOTTOM, 5, HorzLinienArt, COLOR_BLACK) SetCellBorder(C_S_Forder, CELL_BORDER_TOP, 1, HorzLinienArt, COLOR_BLACK) if VertLinienArt <> PEN_NULL then SetCellBorder(C_S_Forder, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, PEN_SOLID, COLOR_BLACK) else SetCellBorder(C_S_Forder, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, VertLinienArt, COLOR_BLACK) end if SetCellBorder(C_S_Forder_4, CELL_BORDER_LEFT, 0, VertLinienArt, COLOR_BLACK) nTemp1 = GetNumeric(AUFTR_UST_GESBETRAG) nTemp2 = GetNumeric(AUFTR_ABSCHLAG_STEUER) strUstForderung = nTemp1 - nTemp2 ' beim Abschlag Forderungen drucken if (IsMitAbschlag())then SetCellBorder(C_S_Forder_1, CELL_BORDER_BOTTOM, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Forder, CELL_BORDER_BOTTOM, 0, PEN_NULL, COLOR_BLACK) SetCellText(C_S_Forder_1, "Forderungsbetrag") SetFormatNumericOptions(FN_CUSTOM, ",", ".") SetCellText(C_S_Forder_4, HCS(GetCurrencyFormat(AUFTR_ABSCHLAG_FORDER, CC_ORG, nCurrencyFormatDefault))) DrawCell(C_S_Forder, true) ClearRow(C_S_Forder, "") SetCellBorder(C_S_Forder, CELL_BORDER_TOP, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Forder_1, CELL_BORDER_TOP, 0, PEN_NULL, COLOR_BLACK) SetCellBorder(C_S_Forder, CELL_BORDER_BOTTOM, 5, HorzLinienArt, COLOR_BLACK) SetCellStandard(C_S_Forder_1, SchriftArtStandard, CELL_TEXT_LEFT, -1) If (Getnumeric(ABS_RE_UST) <> 0) OR (Getnumeric(AUFTR_ABSCHLAG_STEUER) <> 0) OR (Getnumeric(AUFTR_UST_GESBETRAG) <> 0) OR Is(AUFTR_HAT_NULLSTEUER) then SetCellText(C_S_Forder_1, "Im Forderungsbetrag sind " + HCS(FormatCurrency(CC_LOC, nCurrencyFormatDefault, strUstForderung)) + " " + sUstText + " enthalten.") else if b13Umsatzsteuer = false then SetCellText(C_S_Forder_1, "Der Forderungsbetrag ist steuerfrei" + sGrundstfrei + ".") end if end if DrawCell(C_S_Forder, true) ClearRow(C_S_Forder, "") end if end if SetFormatNumericOptions(FN_CUSTOM, "", "") LeereZellen() LF SelectFont(SchriftArtStandard) SetTabs("L100") End Function '//////////////////////////////////////////////////////////////////////////////////// 'Funktion - FuelleTabelleLieferschein() 'Füllen der Tabelle für einen Auftrag, wenn Lieferschein '///////////////////////////////////////////////////////////// Function FuelleTabelleLieferschein() 'DIM strTemp as string = "" DIM nUst as numeric = 0 Dim nCount as Numeric = 0 Dim ArtikelLine as Numeric = 0 DrawCell(C_H_Zeile, True) 'SpaltenÜberschriften SetHeaderCell(C_H_Head) SetFooterCell(C_S_Zeile) nCurrencySymbol = CURRENCY_SYMBOL_HIDE ' Ausgabe mit CURRENCY_SYMBOL_RIGHT hat unter '95 und '98 ein Problem, deshalb selbst formatieren strGewicht = "" if bMitWaehrung then strWaehrungsSymbol = " " + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) strGewicht = " kg" end if Dim Result_Z as Bool nSumme = 0 nAnzahlSt = 0 nAnzahlStNeben = 0 Result_P= FirstRecord(AUFTRPOSITION) 'Erster Rechungsposten While Result_P Do nSteuerSatz = GetNumeric(POS_UST_SATZ) if IS(POS_IST_TEXTPOS) then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if ' Nebenleistungen haben auf dem Lieferschein nichts zu suchen If is (POS_IST_NEBENL) = FALSE Then if nAnzahlSt = 0 then nAnzahlSt = 1 'erhöhe Anzahl Steuersätze wg. nicht steuerbaren end if 'manueller Artikel, Stammartikel IF IS( POS_IST_STAMMART ) OR IS( POS_IST_MANUELLE_POS ) OR IS(POS_IST_DATANORM) OR IS(POS_IST_LOHNLEISTUNG) Then if IS(POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_1, SchriftArtKommentar) SetCellText(C_Spalte_1,"") else SetCellText(C_Spalte_1, FormatNumeric("%.0f", GetNumeric(POS_NR))) 'Position end if if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if (Get("A", 52) <> "") AND bmitBildAnhang = true then bBildExist = true end if if bmitBildSpalte and nBildSpalteAuswahl = 0 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) end if if IS(POS_IST_KOMMENTAR) then SetCellText(C_Spalte_2,"") else SetCellText(C_Spalte_2, FormatNumeric(FormatMenge, GetNumeric(POS_MENGE))) 'Menge end if if IS(POS_IST_KOMMENTAR) then SetCellText(C_Spalte_3,"") else SetCellText(C_Spalte_3, Get(POS_EINHEIT)) 'Einheit end if ' Artikelnummer nur, wenn Spalte sichtbar IF (nLieferBreiteSpalte_3 > 0) AND (IS( POS_IST_STAMMART ) OR (IS(POS_IST_DATANORM)) OR (IS(POS_IST_LOHNLEISTUNG)) ) then SetCellText(C_Spalte_4, Get(POS_ART_NR)) 'Artikelnummer if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if bmitBildSpalte = True and nBildSpalteAuswahl = 1 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) end if ELSE SetCellText(C_Spalte_4, "") SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) END IF If GetNumeric(POS_GEWICHT_GES) <> 0 Then 'Es Gibt einen Kiloeintrag If nLieferBreiteSpalte_4 <> 0 Then 'nur Gesamtgewicht, wenn auch das Einzelgewicht angezeigt wird nGewicht = GetNumeric(POS_GEWICHT_GES) 'Kilo SetCellText(C_Spalte_5, Formatnumeric("%.3f", nGewicht) + strGewicht)'Eintrag in die Tabelle nGewichtSumme = nGewichtSumme + nGewicht 'Aufsummieren für den Übertrag, wenn keine Alternativpos END IF END IF END IF ' alle Auftragsarten außer Zwischensumme IF IS( POS_IST_ZWSUMME ) = false then if IS (POS_IST_KOMMENTAR) then SelectCellFont(C_Spalte_6, SchriftArtKommentar) end if PrintArtikelText(C_Spalte_6) 'Artikelbezeichnungen if IS( POS_IST_STAMMART ) OR is (POS_IST_ALTERNATIV) then if bmitBildSpalte = true and nBildSpalteAuswahl = 2 then include "bildanzeigen.lsf" end if else SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) end if if bStuecklistenArtikelAnzeigen then If is (ART_MIT_STUECKLISTE) = true AND ((IS( POS_IST_STAMMART ) = true) AND IS( POS_IST_ALTERNATIV ) = true) then nPosition = GetAreaLength() - GetPosY() - GetCellHeight(C_Zeile_s) - GetCellHeight(C_Spalte_5) - (nCount * GetCellHeight(C_Zeile_s)) if nPosition < 0 then DrawCell(C_S_Zeile, True) Pagebreak() end if end if end if if is(AUFTR_IST_PREISANGABEN_BRUT) then ' Währung nur anzeigen, wenn Wert nicht 0 if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if nSumme = nSumme + GetNumeric(POS_GES_BRUTPREIS) strTemp = HCS(GetCurrencyFormatValue(POS_GES_BRUTPREIS, CC_ORG, nCurrencyFormat, nBetrag)) else ' Nettopreise (ohne Mwst) ' Währung nur anzeigen, wenn Wert nicht 0 if (is (POS_IST_SEITENUMBRUCH) = true) OR (is (POS_IST_TEXTPOS) = true) OR (is (POS_IST_KOMMENTAR) = true) then nCurrencyFormat = CURRENCY_SYMBOL_HIDE else nCurrencyFormat = nCurrencyFormatDefault end if nSumme = nSumme + GetNumeric(POS_GES_NETPREIS) strTemp = HCS(GetCurrencyFormatValue(POS_GES_NETPREIS, CC_ORG, nCurrencyFormat, nBetrag)) end if SetCurrencyNKStellen(GetNumeric(FA_NACHKOMMAST_EK)) 'setzen der Nachkommastellen wie in den Optionen SetCelltext(C_Spalte_7, HCS(GetCurrencyFormat(POS_EINZELPREIS, CC_ORG, nCurrencyFormat))) 'Ausgabe des Einzelpreises SetCurrencyNKStellen( 2 ) 'setzen der Nachkommastellen auf 2 für rabatt und Gesamtpreis SetCelltext(C_Spalte_8, strTemp) 'Ausgabe Gesamtpreis if IS(POS_IST_KOMMENTAR) = false then If is (POS_IST_SEITENUMBRUCH) = true Then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) 'DrawCell(C_Zeile, True) 'keine Leerzeile! else DrawCell(C_Zeile, True) end if 'Ausgabe der Zeile else if IS(AUFTR_MIT_KOMMENTAR) = true then SetCellImage(C_Spalte_1, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_4, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_5, "", IMAGE_Bottom, 20 ) SetCellImage(C_Spalte_6, "", IMAGE_Bottom, 20 ) DrawCell(C_Zeile, True) end if end if If is (POS_IST_SEITENUMBRUCH) Then 'erzwungener Seitenumbruch... 'Spalten löschen wg. 0,00-Problem 'SetCellText(C_S_Spalte_2, "") 'Setzen der Zwischensumme 'SetCellText(C_HU_Spalte_2, "") 'Setzen des Übertrages DrawCell(C_S_Zeile, True) PageBreak() end if LeereZellen() 'Leeren der Zellen, setzen der Schraffur if bStuecklistenArtikelAnzeigen then IF IS( POS_IST_STAMMART ) Then Result_Z = FirstRecord("Z") if is(POS_ZUSAMMENGESETZT) = True Then SetCellFont(C_Spalte_6s, "Arial", 8, FONT_BOLD, COLOR_BLACK) SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, "") SetCellText(C_Spalte_3s, "") SetCellText(C_Spalte_4s, "") SetCellText(C_Spalte_5s, "") SetCellText(C_Spalte_6s, "bestehend aus:") SetCellText(C_Spalte_7s, "") SetCellText(C_Spalte_8s, "") DrawCell(C_Zeile_s, True) LeereZellen() nCount = 3 While Result_Z do ' Menge, Einheit, Artikelnummer, Bezeichnung SetCellText(C_Spalte_1s, "") SetCellText(C_Spalte_2s, FormatNumeric(FormatMenge, GetNumeric(STL_POS_MENGE))) SetCellText(C_Spalte_3s, Get(STL_POS_EINHEIT)) SetCellText(C_Spalte_4s, Get(STL_POS_NR)) if GetNumeric(STL_POS_GEWICHT) <> 0 Then SetCellText(C_Spalte_5S, "( " + Formatnumeric("%.3f", GetNumeric(STL_POS_GEWICHT)) + " )") else SetCellText(C_Spalte_5s, "") end if SetCellText(C_Spalte_6s, Get(STL_POS_BEZ)) SetCellText(C_Spalte_7s, "") SetCellText(C_Spalte_8s, "") SetCellFont(C_Spalte_1s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_2s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_3s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_4s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_5s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) SetCellFont(C_Spalte_6s, "Arial", 8, FONT_NORMAL, COLOR_BLACK) DrawCell(C_Zeile_s, True) nCount = nCount + 1 Result_Z = NextRecord("Z") End While end if LeereZellen() end if end if ' Abfrage, ob die Preise Brutto-oder Nettopreise sind nUst = GetNumeric(POS_UST_PROZ) END IF END IF if bMitSchraffur = true then bMitSchraffur = false else bMitSchraffur = true end if Result_P= NextRecord(AUFTRPOSITION) 'Nächste Position End While 'Ende der Positionen if (Nebenleistung = True) and (nAnzahlStNeben=0) then nAnzahlStNeben = 1 end if dim bGesamtGedruckt as bool = false ' Ausgabe des Gesamtbetrags, wenn Steuer und Gesamtbetrag über den Assi gewählt IF IS(LAY_TAB_MIT_STEUER) THEN ' wenn Lieferschein mit Preisen IF nLieferTabelle >= TABELLE_6 then ' die Zellen für den Gesamtbetrag neu formatieren SetCellBorder(C_S_Zeile, CELL_BORDER_TOP + CELL_BORDER_BOTTOM, 0, HorzLinienArt, COLOR_BLACK) if VertLinienArt <> PEN_NULL then SetCellBorder(C_S_Zeile, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, PEN_SOLID, COLOR_BLACK) else SetCellBorder(C_S_Zeile, CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, VertLinienArt, COLOR_BLACK) end if ' die Werte der Zellen setzen SetCellText(C_S_Spalte_1, sTextGesamtbetrag) if is(AUFTR_IST_PREISANGABEN_BRUT) then SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_GESAMT_HAUPTL_BRUT, CC_ORG, nCurrencyFormatDefault))) else SetCellText(C_S_Spalte_2, HCS(GetCurrencyFormat(AUFTR_GESAMT_HAUPTL_NET, CC_ORG, nCurrencyFormatDefault))) end if DrawCell(C_S_Zeile, True) LF If (is (AUFTR_KEINE_UST) = FALSE) Or Is(AUFTR_HAT_NULLSTEUER) Then if is(AUFTR_IST_PREISANGABEN_BRUT) then TL("Die Preise verstehen sich inkl. " + sUstText) else TL("Die Preise verstehen sich zzgl. " + sUstText) end if else TL("Die Preise sind steuerfrei" + sGrundstfrei + "." ) end if bGesamtGedruckt = true END IF END IF ' wenn kein Gesamtbetrag gedruckt wurde, dann brauchen wir trotzdem den abschließenden Strich für die Tabelle if bGesamtGedruckt = false then SetCellText(C_S_Spalte_1, "" ) SetCellText(C_S_Spalte_2, "" ) SetCellBorder(C_S_Zeile, CELL_BORDER_BOTTOM + CELL_BORDER_LEFT + CELL_BORDER_RIGHT, 0, PEN_NULL, COLOR_TRANSPARENT) SetCellBorder(C_S_Zeile, CELL_BORDER_TOP, 0, HorzLinienArt, COLOR_BLACK) DrawCell(C_S_Zeile, True) end if 'Ausgabe des Gesamtgewichts, auf der letzten Seiten If nGewichtSumme <> 0 then 'Wenn es Kilos auf dem Lieferschein gibt LF LF TL("Das Gesamtgewicht beträgt " + FormatNumeric( "%.3f", nGewichtSumme ) + " kg.") end if End Function Function Anhang_PrintFooter() TL("") End Function Function Anhang_PrintHeader() TL("") end function Function Anhang_Seitenwechsel() SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, 200) SetFooterMargin(nRandLinks, 200, nRandRechts, 80) SetBodyMargin(nRandLinks, nRandOben, nRandRechts, nRandUnten) SetEventHandler(EVENT_PRINT_HEADER, Anhang_PrintHeader) SetEventHandler(EVENT_PRINT_FOOTER, Anhang_PrintFooter) end function '/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// '----------------------------------------------Erzeugen des gesamten Formulars ----------------- 'SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, nKopfzeileHoehe) ' Header so Hoch wie der Body, damit in der Funktion Kopfzeile auf das ganze Blatt gezeichnet werden kann SetHeaderMargin(nRandLinks, nRandOben , nRandRechts, nSeitenHoehe-nRandUnten - nFusszeileHoehe) SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe) SetBodyMargin(nRandLinks, nRandOben , nRandRechts, nRandUnten + nFusszeileHoehe + 10) dim bPageBreak as bool = FALSE dim nTemp as numeric = 0 Result_R = FirstRecord(AUFTRAG) 'Erste Rechnung oder sonstiges ' für die erste Seite werden die Funktionen des Seitenwechsels bereits hier aufgerufen if Result_R then ' hier den Rumpfbereich wieder an den oberen Rand des Formulars ziehen, damit die nachfolgenden Felder ' nicht tiefer dargestellt werden SetBodyMargin(nRandLinks, nRandOben, nRandRechts, nRandUnten + nFusszeileHoehe + 10) nAuftragPage = 0 Seitenwechsel() end if While Result_R Do if bMitWaehrung then strWaehrungsSymbol = " " + GetCurrencySymbol(AUFTR_RG_BETRAG, bWaehrungAlsText) else strWaehrungsSymbol = "" end if Nebenleistung = False Steuern = False nGewichtSumme = 0 nGewicht = 0 If (is(KD_UMSAETZE_NICHT_STEUERBAR) = False) And (Get(AUFTR_KD_NR)<>"") Then nAnzahlSt = 0 nAnzahlStNeben = 0 if Get(KD_GRUND_STEUERBEF) <> "" then sGrundstfrei = " (" + Get(KD_GRUND_STEUERBEF) + ")" else if is("F", 44) = true then sGrundstfrei = " §19 UStG (Kleinunternehmerregelung)" else If Get(KD_EG_ID_NUMMER) <> "" Then ' wenn KD.Ust-ID vorhanden, dann ausdrucken sGrundstfrei = " (Innergemeinschaftliche Lieferung)" else sGrundstfrei = " (Ausfuhrlieferung)" end if end if end if else sGrundstfrei = "" 'Anzahl der Steuersätze ermitteln nAnzahlSt = 0 nAnzahlStNeben = 0 i = 0 While i < 5 do If (GetNumeric("R", (i+38)) <> 0) or (GetNumeric("R", (i+53)) <> 0) Then nAnzahlSt = nAnzahlSt + 1 end if If (GetNumeric("R", (i+83)) <> 0) or (GetNumeric("R", (i+98)) <> 0) Then nAnzahlStNeben = nAnzahlStNeben + 1 end if i = i + 1 end while end if if IS(AUFTR_UST13b) = true OR (GetNumeric("R", 306) > 0 ) then b13Umsatzsteuer = TRUE end if if bSeiteText1 then strText13bUstGSo = strSeiteText1 else strText13bUstGSo = "Bei den vorgenannten Leistungen handelt es sich um sonstige Leistungen EG\nnach §13b UStG. Der Leistungsempfänger schuldet die Umsatzsteuer.\nEs gilt die Steuerschuldnerschaft des Leistungsempfängers (Reverse-Charge)." end if if bSeiteText2 then strText13bUstG = strSeiteText2 else strText13bUstG = "Bei den vorgenannten Leistungen handelt es sich um eine sog. Bauleistung,\nfür die der Übergang der Steuerschuldnerschaft gem. § 13b UStG gilt. \nDie Umsatzsteuer ist somit vom Leistungsempfänger beim Finanzamt anzumelden und abzuführen.\nEs gilt die Steuerschuldnerschaft des Leistungsempfängers." end if 'Aufbau und Füllen des Tabellengerüstes If is(AUFTR_IST_LS) Then BaueTabelleLieferschein() FuelleTabelleLieferschein() else 'alle anderen Auftragsarten (Rechnung, Auftragsbestätigung,....) ' Unterscheidung zwischen Brutto und Netto Auftragstabelle 'if bIstAuftragBrutto then 'Unterscheidung zwischen Brutto und Netto Auftragstabelle jetzt direkt über die Brutto/Nettokennung des Aufttrags if is(AUFTR_IST_PREISANGABEN_BRUT) then BaueTabelleBrutto() FuelleTabelleBrutto() else BaueTabelleNetto() FuelleTabelleNetto() end if end if 'Alle Felder löschen LeereZellen() SetFooterCell(NULL) SetHeaderCell(NULL) SelectFont(SchriftArtStandard) RemoveAllTabs() SetTabs("L100") nSumme = 0 'Schlußtext drucken DruckeSchlussTexte() AusgabeGiroCode(IS(AUFTR_GIROCODE_DRUCKEN), Get(AUFTR_GIROCODE_FILEPATH), False ) bAuftrhatLohnleistung = false bAuftrhatgesamtrab = false bAuftrLohnUst = false b13Umsatzsteuer = FALSE nSummeLohnUst = 0 nLohnUst = 0 nRabattprozentual = 0 nRabattabsolut = 0 nSummeHauptleistung = 0 nSummeLohnbetragProz = 0 nSummeRabattLohn = 0 nSonstKosten = 0 nLohnbetrag = 0 nSummeLohnBetrag = 0 nSummenLohnUstBetrag = 0 nRabattBetragLL = 0 nUstLohn = 0 if bBildExist = true then SetEventHandler(EVENT_START_PAGE, Anhang_Seitenwechsel) Pagebreak() include "anhangbild.lsf" end if bBildExist = false ' nächste Rechnung oder sonstiges Result_R = NextRecord(AUFTRAG) ' wenn neuer Auftrag, dann auf neuer Seite darstellen if Result_R then SetHeaderCell(NULL) SetFooterCell(NULL) ' hier den Rumpfbereich wieder an den oberen Rand des Formulars ziehen, damit die nachfolgenden Felder ' nicht tiefer dargestellt werden SetBodyMargin(nRandLinks, nRandOben, nRandRechts, nRandUnten + nFusszeileHoehe + 10) ' Pagebreak löst Event Fusszeile aus ' Die Seite darf erst in der Funktion Seitenwechsel zurückgesetzt werden, da ansonsten zu ' früh zurückgesetzt wird fResetPage = true SetEventHandler(EVENT_START_PAGE, EventSeitenwechsel) Pagebreak() DeleteEventHandler(EVENT_PRINT_FOOTER) DeleteEventHandler(EVENT_PRINT_HEADER) DeleteEVentHandler(EVENT_BREAK_TABLE) SetEventHandler(EVENT_PRINT_HEADER, EventKopfZeile) SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe) SetEventHandler(EVENT_PRINT_FOOTER, EventFussZeile) end if End While
Editor is loading...
Leave a Comment