Prozedurname | Beschreibung |
GetCompanyName(var CompanyInformation: Record "Company Information"): Text |
Kettet die Firmeninfos mit fixem Beistrich zusammen. |
GetUserInfo(var SystemCreatedByGuid: Guid; var UserName: Text; var UserTelephone: Text; var UserEmail: Text) |
Die Funktion verwendet das Standard SystemCreatedBy Feld um die Benutzerinformationen zu liefern.
Vollständiger Name -> kommt aus User Tabelle
Telefonnummer und Emailadresse -> kommen aus User Setup Tabelle.
|
SetTotalLabels(var TotalInclVATText: Text; var TotalExclVATText: Text; CurrencyCode: Code[10]) |
Gibt die vordefinierten MwSt. Überschriften zurück.
Incl VAT Label 'Total %1 gross', 'Gesamtbetrag %1 netto'
Excl VAT Label 'Total %1 net' , 'Gesamtbetrag %1 brutto'
Als Basis wurde die Funktion SetTotalLabels() in der Standard "Format Document" Codeunit verwendet.
|
GetTotalInclVATLabelsWithCurrencyCode(TotalInclVATText: Text; CurrencyCode: Code[10]): Text |
Vervollständigt und gibt ein freidefiniertes Betragslabel mit dem Währungscode zurück. Beim leeren Währungscode wird der Mandantenwährungscode der Fibu Einrichtung verwendet.
Das Label soll den "... %1" Prozentwert enthalten. z.B.:
TotalInclVATText -> "Gesamtbetrag %1" oder "Gesamtsumme %1" etc.
|
GetTotalExclVATLabelsWithCurrencyCode(TotalExclVATText: Text; CurrencyCode: Code[10]): Text |
Vervollständigt und gibt ein freidefiniertes Nettobetragslabel mit dem Währungscode zurück. Beim leeren Währungscode wird der Mandantenwährungscode der Fibu Einrichtung verwendet.
Das Label soll den "... %1" Prozentwert enthalten. z.B.:
TotalExclVATText -> "Nettobetrag %1" oder "Summe %1" etc.
|
SetSalesPersonPurchaser(var SalespersonPurchaser: Record "Salesperson/Purchaser"; SalesPersonPurchaseCode: Code[20]) |
Gibt den Datensatz „Verkäufer/Einkäufer“ zurück. |
SetPaymentTerms(var PaymentTerms: Record "Payment Terms"; PaymentTermsCode: Code[10]; LanguageCode: Code[10]) |
Gibt den Datensatz „Zahlungsbedingungen“ zurück. |
SetPaymentMethod(var PaymentMethod: Record "Payment Method"; PaymentMethodCode: Code[10]; LanguageCode: Code[10]) |
Gibt den Datensatz „Zahlungsform“ zurück. |
SetShipmentMethod(var ShipmentMethod: Record "Shipment Method"; ShipmentMethodCode: Code[10]; LanguageCode: Code[10]) |
Gibt den Datensatz „Lieferbedingung“ zurück. |
SetShippingAgentAndService(
var ShippingAgent: Record "Shipping Agent"; ShippingAgentCode: Code[10];
var ShippingAgentService: Record "Shipping Agent Services"; ShippingAgentServiceCode: Code[10]) |
Gibt die folgenden Datensätze in einem Befehl zurück:
Zusteller, Zusteller Transportart
Shipping Agent, Shipping Agent Services
|
SetPaymentShipmentSalesPersonDocumentDetails(
var PaymentTerms: Record "Payment Terms"; PaymentTermsCode: Code[10];
var PaymentMethod: Record "Payment Method"; PaymentMethodCode: Code[10];
var ShipmentMethod: Record "Shipment Method"; ShipmentMethodCode: Code[10];
var SalespersonPurchaser: Record "Salesperson/Purchaser"; SalesPersonPurchaseCode: Code[20]; LanguageCode: Code[10]) |
Gibt die folgenden Datensätze in einem Funktionsaufruf zurück:
Zahlungsbedingungen, Zahlungsform, Lieferbedingung, Verkäufer/Einkäufer
Payment Terms , Payment Method, Shipment Method, Salesperson/Purchaser
|
GetContactEmailPhone(ContactNo: Code[20]) Result: Text |
Gibt die Emailadresse und die Telefonnummer des Kontaktes zurück. Der Separator ist ein Schrägstrich.
|
GetContactEmail(ContactNo: Code[20]) Result: Text |
Gibt die Emailadresse des Kontaktes zurück.
|
GetContactPhoneContact(ContactNo: Code[20]) Result: Text |
Die Funktion gibt die Telefonnummer des Kontaktes zurück.
|
GetFullCompanyName: Text |
Die Funktion gibt den Name1 + Name2 der CompanyInformation Tabelle zurück.
|
GetCompanyTelephone: Text |
Die Funktion gibt die Telefonnummer der CompanyInformation Tabelle zurück. Format = Telefon Caption mit Doppelpunkt + Telefonnummer
|
GetCompanyFax: Text |
Die Funktion gibt die Faxnummer der CompanyInformation Tabelle zurück. Format = Fax Caption mit Doppelpunkt + Faxnummer
|
GetCompanyEmail: Text |
Die Funktion gibt die Emailadresse der CompanyInformation Tabelle zurück. Format = E-Mail Caption mit Doppelpunkt + E-Mailadresse
|
GetShortcutDimension1to8ValueName(ShortcutDimensionNo:Integer; DimSetID: Integer): Text |
Die Funktion gibt den ausgewählten Dimensionswert des Dimensionsposten zurück. ShortcutDimensionNo = "Shortcut Dimension 1 Code".."Shortcut Dimension 8 Code" aus GeneralLedgerSetup
|
GetNextPositionNumber(LineType: Integer; LineTypeNo: Code[20]; var PosNo: Integer; var IsHidePosNo: Boolean) |
Die Funktion gibt die nächste Positionsnummer der Belegzeile zurück. Mit der IsHidePosNo Variable kann man den Positionswert im Layout steuern (ein- bzw. ausblenden).
|
GetCompanyPostCodeCityCountryName(): Text |
Die Funktion gibt die Postleitzahl die Stadt und den Landnamen aus den Firmendaten zurück. Format = "PostCode City / CountryName"
|
GetCompanyNameAddressPostCodeCity(): Text |
Die Funktion gibt den kompletten Firmennamen - mit Schrägstrich - aus den Firmendaten zurück. Format = "Name / Address / PostCode City / CountryName"
|
GetCompanyPostCodeCity(): Text |
Die Funktion gibt die Postleitzahl und die Stadt aus den Firmendaten zurück. Format = "PostCode City"
|
GetFullCompanyAddressWithPipeSeparator(): Text |
Die Funktion gibt die Firmenadresse aus den Firmendaten zurück. Format = "Address | PostCode City | CountryName"
|
SetCurrencyCode(var CurrencyCode: Code[10]; DefaultCurrencyCode: Code[10]) |
Gibt den Währungscode als var Parameter zurück. DefaultCurrencyCode kann auch leer sein oder kann aus dem Report Header (mit dem "Currency Code") befüllt sein.
add("Purchase Header")
{
column(CurrencyCode; CurrencyCode) { }
}
modify("Purchase Header")
{
trigger OnAfterAfterGetRecord()
begin
GeneralReportLibrary.SetCurrencyCode(CurrencyCode, "Purchase Header"."Currency Code");
end;
}
|
GetTrackingSpecification(RecordVariant: Variant; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var TrackingSpecCount: Integer) |
Die Funktion sammelt und gibt die Artikelverfolgungsdaten in der TempTrackingSpecBuffer Variable zurück.
RecordVariant erkennt aktuell die folgenden Objekte:
"Sales Header", "Return Shipment Header", "Purchase Header", "Sales Invoice Header", "Sales Cr.Memo Header", "Sales Shipment Header"
Für "Return Shipment Header": die RetrieveTrackingReturnShipment() Funktion muss in einem EventHook eingebaut und ausgeführt werden.
Initialisierung:
modify(Header)
{
trigger OnAfterAfterGetRecord()
begin
GeneralReportLibrary.GetTrackingSpecification(Header, TempTrackingSpecBuffer, TrackingSpecCount1);
end;
}
Auswertung bzw. Vorbereitung fürs RDLC Layout:
addbefore(AssemblyLine)
{
dataitem(HBRItemTrackingLine; "Integer")
{
DataItemTableView = SORTING(Number);
column(TrackingSpecBufferLotNo; TempTrackingSpecBuffer."Lot No.") { }
column(TrackingSpecBufferSerNo; TempTrackingSpecBuffer."Serial No.") { }
column(TrackingSpecBufferQty; TempTrackingSpecBuffer."Quantity (Base)") { }
column(TrackingSpecBufferUnitOfMeasure; TempTrackingSpecBuffer."Qty. per Unit of Measure") { }
trigger OnPreDataItem()
begin
if TrackingSpecCount1 = 0 then
CurrReport.Break();
TempTrackingSpecBuffer.SetCurrentKey("Source ID", "Source Type", "Source Subtype", "Source Batch Name", "Source Prod. Order Line", "Source Ref. No.");
TempTrackingSpecBuffer.SetRange("Source Ref. No.", Line."Line No.");
SetRange(Number, 1, TempTrackingSpecBuffer.Count());
end;
trigger OnAfterGetRecord()
begin
if Number = 1 then
TempTrackingSpecBuffer.FindSet()
else
TempTrackingSpecBuffer.Next();
end;
}
}
|
RetrieveTrackingReturnShipment(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; SourceID: Code[20]; var Found: Boolean) |
Die Prozedur erweitert die "Item Tracking Doc. Management" Codeunit und hilft beim Sammeln der Artikelverfolgungszeilen.
Wenn diese Funktion im Hook ausgeführt wurde, findet die GetTrackingSpecification() Funktion die zugehörigen "Return Shipment Header" Artikelverfolgungsdaten.
codeunit 50000 "AppEventHooksNVX"
{
var
GeneralReportLibrary: Codeunit GRLGeneralReportLibraryNVX;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Item Tracking Doc. Management", 'OnRetrieveDocumentItemTracking', '', true, true)]
local procedure "ItemTrackingDocManagement_OnRetrieveDocumentItemTracking"
(
var TempTrackingSpecBuffer: Record "Tracking Specification";
SourceID: Code[20];
var Found: Boolean;
SourceType: Integer;
SourceSubType: Option;
RetrieveAsmItemTracking: Boolean
)
begin
case SourceType of
Database::"Return Shipment Header":
GeneralReportLibrary.RetrieveTrackingReturnShipment(TempTrackingSpecBuffer, SourceID, Found);
end;
end;
}
|
IsArrayDifferentCompareArray1: array[8] of Text[100]; CompareArray2: array[8] of Text[100]) Result: Boolean |
Die Funktion vergleicht zwei Array Variablen.
|
GetSalesPerson(var SalesPerson: Record "Salesperson/Purchaser"; SalespersonCode: Code[20]) |
Gibt den Datensatz der Tabelle „Verkäufer/Einkäufer“ zurück.
|
PrintReportToLocalOrNetworkPrinterWithCommit(ReportId: Integer; RecIdToPrint: RecordId) |
In BC ist es nicht möglich (in einer Webclient Session) Reports an einen eingerichteten Lokalen oder Netzwerk Drucker zu drucken.
Über die Job Queue ist das schon möglich. Die Funktion macht nichts anderes, als dass sie den Report am in der Druckerauswahl eingerichteten Drucker ausdruckt.
report 50000 "WarehouseRegisterNVX"
{
Caption = 'Warehouse Register', comment = 'DEU="Lagerplatzjournal"';
DefaultLayout = RDLC;
RDLCLayout = './src/layout/WarehouseRegisterNVX.rdlc';
UsageCategory = Documents;
dataset
{
dataitem(Header; "Warehouse Register")
{
DataItemTableView = sorting("No.");
RequestFilterFields = "No.";
...
}
...
}
trigger OnPostReport()
var
GeneralReportLibrary: Codeunit GRLGeneralReportLibraryNVX;
begin
if not CurrReport.Preview then
GeneralReportLibrary.PrintReportToLocalOrNetworkPrinterWithCommit(Report::WarehouseRegisterNVX, Header.RecordId);
end;
}
|
ResetTotalValues(var TotalSubTotal: Decimal; var TotalInvDiscAmount: Decimal; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal) |
Setzt die Summenblockwerte des gebuchten Rechnungslayouts zurück.
Indiv. Gesammtsumme Funktionalität für die Rechnung. Die Prozedur hängt mit der CalculateTotalValues() Funktion zusammen.
|
ResetTotalValues(var TotalWeight: Decimal; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal) |
Setzt die Summenblockwerte der Proforma Rechnung zurück.
Indiv. Gesammtsumme Funktionalität für die Proforma Rechnung. Die Prozedur hängt mit der CalculateTotalValuesSalesProFormaInvoice() Funktion zusammen.
|
CalculateTotalValues(var SalesInvoiceLine: Record "Sales Invoice Line"; var TotalSubTotal: Decimal; var TotalInvDiscAmount: Decimal; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal) |
Addiert die Summenblockwerte des gebuchten Rechnungslayouts zusammen.
Indiv. Gesammtsumme Funktionalität für die Rechnung. Die Prozedur hängt mit der ResetTotalValues() Funktion zusammen.
|
CalculateTotalValuesSalesProFormaInvoice(var SalesLine: Record "Sales Line"; var TotalWeight: Decimal; var TotalAmount: Decimal; var TotalAmountVAT: Decimal; var TotalAmountInclVAT: Decimal) |
Addiert die Summenblockwerte der Proforma Rechnung zusammen.
Indiv. Gesammtsumme Funktionalität für die Proforma Rechnung. Die Prozedur hängt mit der zugehörigen ResetTotalValues() Funktion zusammen.
|
GetItemLederEntryNoFilter(DocumentNo: Code[20]; DocumentType: Enum "Item Ledger Document Type"; DocumentLineNo: Integer) Result: Text |
Die Funktion gibt einen Filterstring der Tabelle ItemLedgerEntry."Entry No." zurück. Beispiel Rückgabewert = "1|25|302|..."
|
GetCommaSeparatedAddressArray(AddressArray: array[8] of Text[100]; Number: Code[20]): Text |
Listet die Address Array Werte nacheinander - mit Beistrich Separator - auf. Format = "Array[1], Array[2], Array[3], Array[4], etc."
Wenn der Paramter "Number" befüllt ist, ändert sich die Formatierung und die Adressinformationen werden in Klammern aufgelistet. Format = "Number (Array[1], Array[2], Array[3], Array[4], etc.)"
add(Header)
{
column(CommaSeparatedSellToAddress; GeneralReportLibrary.GetCommaSeparatedAddressArray(AddressArray, Header."Sell-to Customer No.")) { }
}
var
GeneralReportLibrary: Codeunit GRLGeneralReportLibraryNVX;
|
GetCountryRegionDescription(CountryRegionCode: Code[10]): Text |
Die Funktion gibt den vollständigen Namen des Landes zurück. Beim Holen wird die Mandantensprache [Language.GetUserLanguageCode()] berücksichtigt.
|
besteht aus verschiedenen Enumwerten die für Reports Captions zurückliefern.
Diese Funktionalität bietet eine dynamische Lösung um die Header Daten zu befüllen.
Hier gibt es die Möglichkeit mehrere Infoblöcke zu definieren und zu befüllen. Die Darstellung der befüllten Werte auf der RDLC Seite ist mit Tablix Objekt möglich.
1. Definition der zugehörigen "Name/Value Buffer" DataItems.
Mit den Spalten
ist es möglich die FontWeight Liste in den Visual Studio Properties zu definieren.
2. Eigene Funktion im Report für das Befüllen der Buffertabelle:
3. Funktionsaufruf am OnAfterGetRecord() Trigger:
4. Einbauen ins RDLC Layout: