#penta #steinemann #dokumentation # Penta Cheatsheet > Ich brauch doch keine Notizen! *- James* > Wo war das nochmal? Wie mach ich das nochmal? Welche Nummer hatte das? *- Auch James.... zuuu oft* ## Penta Server ### V8 Locations Steinemann: [chpm002](files//chpm002/BELEGE) ### V9 Locations STCH: [CHERP011](files://cherp011\stch_ful\share\report\forms) STMY: [CHERP011](files://cherp011\stmy_ful\share\report\forms) SDPE: [CHERP011](files://cherp011\sdpe_ful\share\report\forms) ## Belegnummern und deren Zugehörigkeit ### STCH | Kenner | NR STCH | Name | Reportname Dutsch | Reportname Englisch | Testnummer STCH | |:------:|:-------:|:----------------------------------------|:-------------------:|:---------------------:|:---------------:| | AN | 1 | Angebot | stg_pkbd_ab_d | stg_pkbd_ab_gb | 22198110 | | AU | 2 | Auftragsbestätigung | stg_pkbd_ab_d | stg_pkbd_ab_gb | 22198110 | | | 2 | Rüstschein | stg_lbew_bew_d | stg_lbew_bew_gb | | | | 3 | Bestellung | stg_pbdr_be_d | stg_pbdr_be_gb | | | AR | 4 | Rechnung [Ausgangsrechnung] | stg_pkbd_ar_d | stg_pkbd_ar_gb | 21193894 | | | 7 | Versandanweisung [Rüstschein] | stg_pkbd_va_d | --- | | | | 8 | Storno Ausgangsrechnung | stg_pkbd_ar_d | stg_pkbd_ar_gb | | | | 11 | Anzahlungsrechnung | stg_pkbd_ar_d.AA | stg_pkbd_ar_gb.AA.rpt | | | | 14 | Fertigungskarte | stg_pfak_karte | stg_pfak_karte | | | | 20 | Kundenauftrag | stg_pkbd_ka_d | --- | | | | 21 | Angebot (Proforma Rechnung) | stg_pkbd_ab_d | stg_pkbd_ab_gb | 22198110 | | | 23 | Auftragsbestätigung | stg_pkbd_ab_d | stg_pkbd_ab_gb | 22198110 | | | 24 | Auftragsbestätigung (KUNDENAUFTRAG ETL) | stg_pkbd_ra_d | --- | | | | 54 | Schlussrechnung Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 55 | Gutschrift Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 56 | Schlussrechnung Maschinen (BTV) | stg_pkbd_arm_btv_d | stg_pkbd_arm_btv_gb | | | | 58 | Storno Rechnung Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 59 | Storno Gutschrift Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 61 | Anzahlung Rechnung Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 62 | Storno Anzahlung Maschinen (UBS) | stg_pkbd_arm_d | stg_pkbd_arm_gb | | | | 63 | Anzahlung Rechnung Maschinen (BTV) | stg_pkbd_arm_btv_d | stg_pkbd_arm_btv_gb | | | | 72 | Auftragsbestätigung [NETTO-AB] | netto_stg_pkbd_ab_d | netto_stg_pkbd_ab_gb | | | | 74 | Netto Rechnung | netto_stg_pkbd_ar_d | netto_stg_pkbd_ar_gb | | | | | | | | | ### DPE | Kenner | NR DPE | Name | Reportname Dutsch | Reportname Englisch | Testnummer SDPE | |:------:|:------:|:----------------------------|:-----------------:|:-------------------:|:------------------:| | AN | 1 | Angebot | stg_pkbd_ab_d | stg_pkbd_ab_gb | 30318 D - 30073 GB | | AU | 2 | Auftragsbestätigung | stg_pkbd_ab_d | stg_pkbd_ab_gb | 30318 D - 30073 GB | | | 2 | Bestellung | stg_pbdr_be_d | stg_pbdr_be_gb | 300000001229 | | | 3 | Lieferschein | stg_pkbd_li_d | stg_pkbd_li_gb | 30000092 | | | 4 | Rechnung [Ausgangsrechnung] | stg_pkbd_ar_d | stg_pkbd_ar_gb | 20300001 | | | 5 | Gutschrift | stg_pkbd_ar_d | stg_pkbd_ar_gb | 20300001 | | | 8 | Storno Ausg angsrechnung | stg_pkbd_ar_d | stg_pkbd_ar_gb | 20300001 | | | 54 | Schlussrechnung Maschinen | stg_pkbd_arm_d | stg_pkbd_arm_gb | 20300001 | | | 61 | Anzahlungsrechnung MS | stg_pkbd_arm_d | stg_pkbd_arm_gb | 20300001 | ## Fixes ### UST FIX 1. Erstellen des Commands `select 'K' "ZUORDNUNG K"` > ![a](ustfixCommand.jpg) # Verknüpfen von puid 3. PKRK mit PUID verknüpfen > pkvk.RECHNUNGS_ADRESS_FOLGE_NR - FOLGE_NR > pkvk.RECHNUNGS_ADRESS_NR - NUMMER > command.ZUORDNUNG_K - puid.ZUORDNUNG > ![a](ustfixPKRK_PUID.jpg) > ![a](ustfixCommandPUID.jpg) ## Bankverbindung > Um die Bankverbindung zu fixen benutze folgenden Code in einem Feld: ```Crystal stringvar account; stringvar bank; if {?Pm-PKRK.WAEHRUNG} = "GBP" then account := "SA30920AC" else if {?Pm-PKrK.WAEHRUNG} = "EUR" then account := "GL100533.1" else if {?Pm-PKRK.WAEHRUNG} = "USD" then account := "GL100533.2" else account := "L0030174.0"; if {?Pm-PKRK.WAEHRUNG} in ["USD", "EUR", "CHF"] then bank := "UBS AG, CH-9001 St. Gallen" else bank := "Bank für Tirol und Vorarlberg AG, CH-9422 Staad"; "Account no. " + account + " " + bank ``` ## Abschlag (Rabatt) fix Wenn die Prozente vom Rabatt nicht richtig angezeigt werden sollte folgender Code verwendet werden: > Ja, es ist keine Meisterleistung, welche ich hier niedergeschrieben habe; aaaaaaber.... Schlussendlich gillt, dass der initial string ENTWEDER als "5% Rabatt", "15% Rabatt", "100% Rabatt" ODER "SPEZIAL RABATTTEXT". Bedeutet, dass ich zuerst abfangen muss, ob ein Prozentzeichen in dem Text ist. Wenn Ja, behalte nur die ersten 3 Zeichen und lösche den rest. Danach ersetze alle % zeichen mit " ". und zu guter letzt ersetze " " mit "". ```Crystal If InStr({PZAF.ZU_AB_SCHLAG_BENENNUNG}, "%") > 0 then REPLACE(REPLACE(LEFT({PZAF.ZU_AB_SCHLAG_BENENNUNG}, 3), "%", " "), " ", "")+"%" else {PZAF.ZU_AB_SCHLAG_BENENNUNG} ``` # Aufnahmedatum > Wird temporär als Bool3 gespeichert ```crystal LEFT({PKVK.PKVKGLOBALCREATEINFO, 8}) ``` # netto_stg_pkbd_ab_D/GB In Subreport teilefamilie, ![standort](teileFamilie.jpg) > Feld Übergabetellertext muss mit folgendem Code geändert werden. ```crystal // Wenn kein Teilefamilientext vorhanden ist, wird der Text aus Feld // aus dem Feld Bezeichnung_1 der Kundenvorgangsposition verwendet WhilePrintingRecords; Shared stringVar PkvpBez1; stringVar Bez1 := ""; select {?Sprache} case "GB": Bez1 := {PART.BEZEICHNUNG_1_AT1} default: Bez1 := {PART.BEZEICHNUNG_1}; if Bez1 = "" then PkvpBez1 else Bez1 ``` > Danach die Tabelle --- # Neuen Beleg erstellen Vertriebsbeleg NR erstellen Auftragsmanagement -> Vertrieb -> Tabellen -> Vertriebsbeleg >(Bei AN -> einen AN auswählen, grünes feld ausfüllen -> neu laden -> speichern) >Dann bei Belegkonfiguration den Beleg gleich wie oben beschrieben erstellen --- # Textbaustein 13 > wenn TB13 vorhanden -> dann diesen andrucken, ansonsten {PZBF.BEZEICHNUNG_1} > {PZBF.BEZEICHNUNG_1} Zuerst muss im subreport zahlubngsbedingung der Parameter erstellt werden. ![Bildkommentar, der niemand liest...](parameterErstellung.jpg) Dann muss im MAIN report **PZBF** eingebunden werden. Diese *SOLLTE* sich (wenn crysstal brav ist...) selber mit **PKRK** verbinden. >Verknüpfe **PKRK.Sprache** mit **PZBF.Zahlungsbedingung_sprache** >Verknüpfe **PKRK.Zahlungsbedingung_KENNER** mit **PZBF.Zahlungsbedingung_KENNER** >![Snails are great!](verknüpfungenPKRK_PZBF.jpg) Und jetzt der *Lustige* teil... Wir müssen das Feld **VON DER DATENBANK** *(Du kannst gerne lange bei den Reportfields suchen...)* mit dem Parameter verknüpfen. Crystal ist netterweise komplexer für das eigene Wohl, desshalb erklär ich es dir hier verknüpfungenPkrkPZBF 1. In der box LINKS *Available Fields* muss das Feld **PZBF.BEZEICHNUNG_1** mit dem button in der mitte *">"* in das Feld RECHTS 1. Dann klickt man auf das **PZBF.BEZEICHNUNG_1** Feld in der Box RECHTS. 1. Hat man das geschafft, kann man in der BOX unten die Verbindung wählen. ![soup](subreportLinks.jpg) Hat man das alles geschafft, darf man sich als erstes selbst gratulieren, danach aber direkt ein neues Feld erstellen, in dem folgender Code steht: ```Crystal if isnull({XDMT.TEXT}) then {?Zahlungsbedingungstext} else {XDMT.TEXT} ``` So und jetzt gönn dir nen Kaffee! (Ja, jedes mal wenn du das getan hast :)) --- # TODO - [ ] [[30.06.2022#MGA]]