Entwicklerdokumentation
Wie baue ich Reports?
Um die erweiterten Belegtexte in Reports anzeigen zu können oder mit ihnen arbeiten zu können, müssen zuerst die richtigen Texte gefunden werden.
Hinweis: Wenn in der Einrichtung gewählt wurde, dass die Zeilenbelegtexte direkt in den Belegzeilen verarbeitet werden sollen, werden diese mit den restlichen Belegzeilen direkt angezeigt, ohne dass Sie etwas tun müssen. Um die Kopfbelegtexte müssen Sie sich dann jedoch trotzdem noch kümmern.
Tabellenauswahl
Zuerst muss die richtige Tabelle ausgesucht werden:
"kmidt_SalesDocumentText":
Für alle ungebuchten Verkaufsbelege
"kmidt_PstdSalesDocumentText":
Für alle gebuchten Verkaufsbelege
"kmidt_PurchaseDocumentText":
Für alle ungebuchten Einkaufsbelege
"kmidt_PstdPurchaseDocumentText":
Für alle gebuchten Einkaufsbelege
"kmidt_FinanceDocumentText":
Für alle Mahnungen und Zinsrechnungen
"kmidt_IssuedFinDocumentText":
Für alle registrierten Mahnungen und Zinsrechnungen
"kmidt_ServiceDocumentText":
Für alle ungebuchten Servicebelege
"kmidt_PstdServDocumentText":
Für alle gebuchten Servicebelege
"kmidt_ArchSalesDocumentText":
Für alle archivierten Verkaufsbelege
"kmidt_ArchPurchaseDocumentText":
Für alle archivierten Einkaufsbelege
Filter
Um nun die Texte für den spezifischen Beleg zu erhalten, muss auf diese wie folgt gefiltert werden:
"Document Type":
Die Belegart des zu druckenden Belegs
Hier werden bei ungebuchten Verkaufs-, Einkaufs- und Servicebelegen die Enums aus dem Standard verwendet:
- "Sales Document Type"
- "Purchase Document Type"
- "Service Document Type"
Für gebuchte Belege sowie Mahnungen oder Zinsrechnungen sind eigene Enums in unserer Erweiterung definiert:
- "kmidt_PstdSalesDocumentType"
- "kmidt_PstdPurchaseDocumentType"
- "kmidt_PstdServiceDocumentType"
- "kmidt_FinanceDocumentTypes"
- "kmidt_IssuedFinDocumentTypes"
"Document No.":
Die Belegnummer des Belegs
"Type":
Der Belegtexttyp
Dieser ist definiert in einem eigenen Enum "kmidt_DocumentTextType"
Bei Kopfbelegtexten gibt es folgende Möglichkeiten:
- "kmidt_Customer" (Für debitorenbezogene Texte)
- "kmidt_Vendor" (Für kreditorenbezogene Texte)
- "kmidt_Document" (Für belegbezogene Texte)
Bei Zeilenbelegtexten gibt es folgende Möglichkeiten:
- "kmidt_Item" (Für artikelbezogene Texte)
- "kmidt_Resource" (Für ressourcenbezogene Texte)
- "kmidt_GLAccount" (Für sachkontenbezogene Texte)
- "kmidt_FixedAsset" (Für anlagenbezogene Texte)
"Attached to Line No.":
Die Zeilennummer, auf die sich der Text bezieht
Bei Kopftexten muss bei diesem Feld auf 0 gefiltert werden
Bei Zeilentexten muss bei diesem Feld auf die zugehörige Zeilennummer gefiltert werden
"Text Position":
Die Textposition des Texts
Diese wird ebenfalls durch ein eigenes Enum "kmidt_TextPosition" angegeben:
- "kmidt_Leading" (Für Vortexte)
- "kmidt_Trailing" (Für Nachtexte)
Gültigkeitshaken:
Jede Belegart hat einen Gültigkeitshaken als Feld in den Tabellen
Möchten Sie also Belegtexte für einen Verkaufsauftrag finden, so müssen Sie im Feld "Sales Order" auf "true" filtern
Report-Aufbau
Beispiel-Report: 1305 - "Standard Sales - Order Conf."
Für die Richtexte wird noch folgendes ergänzt:
Zudem muss der Rich Text in einem Platzhalter gespeichert werden, um die HTML-Formatierung aktivieren zu können.
Eigene Events
Folgende Events stehen in unseren Codeunits zur Verfügung:
"kmidt_CopyDocTextManagement"
- "OnBeforeReadLines"
- "OnAfterReadLines"
"kmidt_SalesDocProcedures"
- "OnBeforeCopySalesDocTexts"
- "OnBeforeStoreSalesHeaderDocTexts"
- "OnBeforeRestoreSalesHeaderDocTexts"
- "OnBeforeCopyFromSalesDocTextToHeader"
- "OnBeforeStoreSalesLineDocTexts"
- "OnBeforeSalesDocCheckIfAnyExtText"
- "OnAfterSalesDocCheckIfAnyExtText"
- "OnBeforeCustomerCheckIfAnyExtText"
- "OnAfterCustomerCheckIfAnyExtText"
- "OnBeforeInsertSalesDocText"
- "OnBeforeSalesLineCheckIfAnyExtText"
- "OnBeforeCheckAndInsertSalesLineTexts"
- "OnBeforeGetSalesTextType"
- "OnBeforeFindNextPstdSalesDocTextLineNo"
- "OnAfterCopySalesDocTexts"
- "OnAfterStoreSalesHeaderDocTexts"
- "OnAfterRestoreSalesHeaderDocTexts"
- "OnAfterCopyFromSalesDocTextToHeader"
- "OnAfterStoreSalesLineDocTexts"
- "OnAfterInsertSalesDocText"
- "OnAfterSalesLineCheckIfAnyExtText"
- "OnAfterCheckAndInsertSalesLineTexts"
- "OnAfterGetSalesTextType"
- "OnAfterFindNextPstdSalesDocTextLineNo"
"kmidt_PurchDocProcedures"
- "OnBeforeCopyPurchDocTexts"
- "OnBeforeStorePurchHeaderDocTexts"
- "OnBeforeStorePurchaseLineDocTexts"
- "OnBeforePurchDocCheckIfAnyExtText"
- "OnAfterPurchDocCheckIfAnyExtText"
- "OnBeforeVendorCheckIfAnyExtText"
- "OnAfterVendorCheckIfAnyExtText"
- "OnBeforeInsertPurchDocText"
- "OnBeforePurchLineCheckIfAnyExtText"
- "OnBeforeCheckAndInsertPurchLineTexts"
- "OnBeforeGetPurchaseTextType"
- "OnBeforeCopyFromPurchDocTextToHeader"
- "OnBeforeFindNextPstdPurchDocTextLineNo"
- "OnAfterCopyPurchDocTexts"
- "OnAfterStorePurchHeaderDocTexts"
- "OnAfterStorePurchaseLineDocTexts"
- "OnAfterInsertPurchDocText"
- "OnAfterPurchLineCheckIfAnyExtText"
- "OnAfterCheckAndInsertPurchLineTexts"
- "OnAfterGetPurchaseTextType"
- "OnAfterCopyFromPurchDocTextToHeader"
- "OnAfterFindNextPstdPurchDocTextLineNo"
"kmidt_ServiceDocProcedures"
- "OnBeforeCopyServHeaderDocTexts"
- "OnBeforeServDocCheckIfAnyExtText"
- "OnAfterServDocCheckIfAnyExtText"
- "OnBeforeCustomerCheckIfAnyExtServText"
- "OnAfterCustomerCheckIfAnyExtServText"
- "OnBeforeInsertServDocText"
- "OnAfterCopyServHeaderDocTexts"
- "OnAfterInsertServDocText"
"kmidt_FinanceDocProcedures"
- "OnBeforeCopyFinChrgMemoHeaderDocTexts"
- "OnBeforeCopyReminderHeaderDocTexts"
- "OnBeforeReminderDocCheckIfAnyExtText"
- "OnAfterReminderDocCheckIfAnyExtText"
- "OnBeforeInsertFinDocText"
- "OnBeforeFinChrgMemoDocCheckIfAnyExtText"
- "OnAfterFinChrgMemoDocCheckIfAnyExtText"
- "OnBeforeReminderCustCheckIfAnyExtText"
- "OnAfterReminderCustCheckIfAnyExtText"
- "OnBeforeFinChrgMemoCustCheckIfAnyExtText"
- "OnAfterFinChrgMemoCustCheckIfAnyExtText"
- "OnAfterCopyFinChrgMemoHeaderDocTexts"
- "OnAfterCopyReminderHeaderDocTexts"
- "OnAfterInsertFinDocText"