Datalab Funktionen
CallQRBeforeBandPrint
Das Verfahren CallQRBeforeBandPrint ruft Programmcode in PANTHEON auf, der für dieses Band geschrieben wurde. Es ist im Ereignis des Bands geschrieben OnBeforePrint.
Header
procedure CallQRBeforeBandPrint(Sender: TfrxComponent; var PrintBand: Boolean);
Beispiel
procedure TitleOnBeforePrint(Sender: TfrxComponent);
begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
end;
dlBoolToYesNo
Die Funktion dlBoolToYesNo gibt 'Ja' zurück, wenn der Parameterwert True ist, andernfalls 'Nein'.
Header
function dlBoolToYesNo(bCondition: Boolean): String;
Beispiel
Bei Dienstleistungsberichten gibt es zurück, ob ein Artikel unter Garantie ist.
[dlBoolToYesNo(<qReportIzpis."anWarrenty"> = 'T')]
dlDiv
Die Funktion dlDiv gibt den Quotienten von zwei Zahlen zurück, wenn der zweite Parameter nicht 0 ist. Wenn der zweite Parameter 0 ist, gibt er 0 zurück.
Header
function dlDiv(nNum1, nNum2: Real): Real;
Beispiel
[dlDiv(<qReportIzpis."anQty">, <qReportIzpis."anUMToUM2">)]
dlDPAExecute
Die Funktion dlDPAExecute führt ein PANTHEON Applet (DPA) aus. Der Parameter ist die ID des DPA.
Header
procedure dlDpaExecute(cKey: String);
Beispiel
dlDpaExecute('A000042');
dlGetCurrentUserID und dlGetCurrentUserName
Die Funktion dlGetCurrentUserID gibt die ID des aktuellen Benutzers zurück.
Die Funktion dlGetCurrentUserName gibt den Namen des aktuellen Benutzers zurück.
Header
function dlGetCurrentUserID: String;
function dlGetCurrentUserName: String;
Beispiel
Aktueller Benutzer:
[dlGetCurrentUserID] - [dlGetCurrentUserName]
dlGetKeyViewFromKey
Die Funktion dlGetKeyViewFromKey konvertiert einen unformatierten Dokumentenschlüssel in einen formatierten, abhängig von den Einstellungen des Administrationspanels.
Header
function dlGetKeyViewFromKey(cKey: String);
Beispiel
[dlGetKeyViewFromKey(<qReportIzpis."acKey">)]
dlGetPostCode
Die Funktion dlGetPostCode gibt die Postleitzahl ohne Präfix oder Postfix zurück.
Header
function dlGetPostCode(cKey: String);
Beispiel
[dlGetPostCode(<qReportIzpis1."acPost">)]
dlGetSaldoStr
Die Funktion dlGetSaldoStr konvertiert die Zahl in eine Notation mit dem Zeichen D (für Debit) oder C (für Kredit) am Ende. Es wird im Demeter (Finanzen) Modul verwendet.
Wenn der erste Parameter größer als 0 ist, gibt er den ersten Parameter und das Zeichen D am Ende zurück.
Wenn der erste Parameter kleiner als 0 ist, gibt er den absoluten Wert des ersten Parameters und das Zeichen C am Ende zurück.
Wenn der erste Parameter 0 ist und der zweite Parameter B ist, gibt er den Text 'BALANCED' zurück.
Wenn der erste Parameter 0 ist und der zweite Parameter NOT B ist, gibt er den zweiten Parameter zurück.
Header
function dlSaldoStr(nSaldo: Currency; cStr: String): String;
Beispiele
[dlSaldoStr(nSaldo,'0')]
[dlSaldoStr(SUM(<qReportIzpis."anDebit"> - <qReportIzpis."anCredit">),'B')]
dlGetTempDirectory
Die Funktion dlGetTempDirectory gibt das temporäre Windows-Verzeichnis zurück. Dies ist praktisch, wenn man mit Dateien arbeitet, da es der einzige Ordner ist, in dem das Schreiben und Lesen von Dateien immer möglich ist.
Header
function dlGetTempDirectory: String;
Beispiel
Temporäres Windows-Verzeichnis: [dlGetTempDirectory]
dlLoadCompanyImage
Das Verfahren dlLoadCompanyImage lädt Ihr Unternehmenslogo, das im Administrationspanel definiert ist, in ein Bildobjekt auf dem Ausdruck.
Header
procedure dlLoadCompanyImage(Picture: TfrxPictureView);
Beispiel
Setzen Sie das Bildobjekt mit dem Namen Picture1 auf einen beliebigen Ausdruck und schreiben Sie in sein Ereignis OnBeforePrint:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
dlLoadCompanyImage(Picture1);
end;
dlLoadProductImage
Das Verfahren dlLoadProductImage lädt das Logo eines Artikels, das im Artikelregister definiert ist, in ein Bildobjekt auf dem Ausdruck.
Header
procedure dlLoadProductImage(Picture: TfrxPictureView; cIdent: String);
Beispiel
Setzen Sie das Bildobjekt mit dem Namen Picture1 auf einen beliebigen Ausdruck und schreiben Sie das Ereignis OnBeforePrint:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
dlLoadProductImage(Picture1, <qReportIzpis."acIdent">);
end;
dlLoadUserSignature
Das Verfahren dlLoadUserSignature lädt die Unterschrift des Benutzers, die im Register der Subjekte definiert ist, in ein Bildobjekt auf dem Ausdruck.
Header
procedure dlLoadUserSignature(Picture: TfrxPictureView; cIdent: String);
Beispiel
Um die Unterschrift des aktuellen Benutzers anzuzeigen, setzen Sie das Bildobjekt mit dem Namen Picture1 auf einen beliebigen Ausdruck und schreiben Sie das Ereignis OnBeforePrint:
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
dlLoadUserSignature(Picture1, < dlGetCurrentUserID>);
end;
Um die Unterschrift des 1st Unterzeichners auf dem Rechnungsdruck anzuzeigen, setzen Sie das Bildobjekt mit dem Namen Picture1 auf den Ausdruck und schreiben Sie das Ereignis OnBeforePrint.
procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
dlLoadUserSignature(Picture1,<qReportIzpisD."anSigner1">);
end;
dlNumberInWords
Die Funktion dlNumberInWords gibt die Zahl als Wörter zurück.
Der erste Funktionsparameter ist eine Zahl (monetärer Wert).
Der zweite Parameter ist die Währung.
Der dritte Parameter ist die Sprache, in der der Text zurückgegeben werden soll. Wenn der dritte Parameter leer ist, wird das Ergebnis in der Sprache des Programms zurückgegeben. Wenn die Sprache nicht existiert, wird leerer Text zurückgegeben.
Header
function dlNumberInWords(nNumber: Currency; cCurrency, cLanguage: String): String;
Beispiel
Ergebnis in Englisch unabhängig von der Programmiersprache: tausend EUR 00/100:
[dlNumberInWords(1000,'EUR','EN')]
Den Text für die Zahlung auf der Rechnung, die in der Sprache des Programms ausgestellt wurde, drucken:
[dlNumberInWords(<qReportIzpisD."anForPay">, <qReportIzpisD."acCurrency">, '')]
Den Text für die Zahlung in Englisch unabhängig von der Programmiersprache drucken:
[dlNumberInWords(dlTextToFloat(fZaPlacilo.Text), <qReportIzpisD."acCurrency">, 'EN')]
dlQuotedStr
Das Verfahren dlQuotedStr ahmt die Delphi-Funktion QuotedStr nach, um Fälle zu lösen, in denen Anführungszeichen (') im Datentext vorhanden sind.
Header
procedure dlQuotedStr(Str: String): String;
Beispiel
[SQLExp('select acCode from tHE_SetItemExtItemSubj where acSubject = ' + dlQuotedStr(<qReportIzpis."acSubject">) + ' ')]
dlStringReplace
Die Funktion dlStringReplace ahmt die Delphi-Funktion StringReplacenach. Der Unterschied besteht darin, dass Flags als Strings anstelle von Optionselementen geschrieben werden. Wenn Optionen nicht verwendet werden, müssen leere Strings verwendet werden.
flags
rfReplaceAll – ändert alle gefundenen Strings, andernfalls wird nur das erste Auftreten des Textes geändert.
rfIgnoreCase – unterscheidet nicht zwischen Klein- und Großbuchstaben.
Header
function dlStringReplace(const S, OldPattern, NewPattern: String; Flags1, Flag2: String): String;
Beispiel
Bei Saldenausdrucken, bei denen Aktivitätscodes mit einem Punkt (zum Beispiel 15.110) oder ohne ihn (zum Beispiel 15110) geschrieben werden können, wird der Punkt gelöscht, wenn er vorhanden ist.
[dlStringReplace(<qReportIzpis2."acActivityCode">,'.','','rfReplaceAll','')]
dlStrToFloatDef
Die Funktion dlStrToFloatDef konvertiert Text in eine Dezimalzahl. Wenn die Konvertierung fehlschlägt, wird der zweite Parameter zurückgegeben.
Header
function dlStrToFloatDef(S: String; Default: Extended): Extended;
Beispiel
[dlStrToFloatDef(SQLExp('select SUM(anAmount) from tHE_SADCost where acKey = ''' + <qReportIzpis."acKey"> + ''''), 0)]
dlStrToIntDef
Die Funktion dlStrToIntDef konvertiert Text in Ganzzahlen. Wenn die Konvertierung fehlschlägt, wird der zweite Parameter zurückgegeben.
Header
function dlStrToIntDef(S: String; Default: Integer): Integer;
Beispiel
[dlStrToIntDef(FormatDateTime('d',<qReportIzpis."adDateDue">),0)]
dlTextToFloat
Die Funktion dlTextToFloat konvertiert Text mit Tausendertrennzeichen in eine Dezimalzahl. Wenn die Konvertierung fehlschlägt, wird 0 zurückgegeben.
Header
function dlTextToFloat(S: String): Extended;
Beispiel
Drucken Sie den genauen Betrag ohne Tausendertrennzeichen auf Rechnungen für die Ausgabe von Waren.
[dlTextToFloat(fTrosarina.Text)]
ExtractMonth und ExtractWeek
Die Funktion ExtractMonth gibt den Monat eines bestimmten Datums in Form einer Zahl zurück.
Die Funktion ExtractWeek gibt die Woche eines bestimmten Datums in Form einer Zahl zurück.
Header
function ExtractMonth(Date: TDate): String;
function ExtractWeek(Date: TDate): String;
Beispiel
Aktueller Monat und Woche:
[ExtractMonth(DATE)]
[ExtractWeek(DATE)]
GetFormValue
Die Funktion GetFormValue gibt den Wert des Objekts im PANTHEON-Fenster zurück. Der Parameter ist der Objektname einschließlich des PANTHEON-Fensters, auf dem es platziert ist. Wenn das Objekt nicht existiert oder nicht erstellt wurde, gibt die Funktion einen leeren String zurück.
Header
function GetFormValue(FormComponentName: String): Variant;
Beispiel
Drucken Sie den Wert im Bearbeitungsfeld für den Artikelcode auf Lager zum Zeitpunkt des Ausdrucks:
[GetFormValue('PrometIzpisTrenZaloga.fIdent')]
SQLExp
Die Funktion SQLExp gibt das Ergebnis der SQL-Anweisung zurück, die in der Datenbank ausgeführt wurde.
Header
function SQLExp(sql: String): String;
Beispiel
Unsere Unternehmensstadt:
[SQLExp('select dbo.fHE_GetOurCompanyCity()')]
Der zweite Name unseres Unternehmens:
[SQLExp('select S.acName2 from tHE_SetSubj S, tPA_SysParam P where S.acSubject = P.acOurCompany')]
GetOurCompany
Die Funktion GetOurCompany gibt die Subjekt-ID oder den Namen 2 unseres Unternehmens gemäß der Einstellung 'Verwende Name 2 als Subjektnamen' im Administrationspanel auf dem Tab Einstellungen | Programmparameter | Unternehmen | Dokumenttexte.
Header
function GetOurCompany: String;
Beispiel
Name unseres Unternehmens: [GetOurCompany]
GetSubject
Die Funktion GetSubject gibt die ID oder den Namen 2 des Subjekts gemäß der Einstellung 'Verwende Name 2 als Subjektnamen' im Administrationspanel auf dem Tab Einstellungen | Programmparameter | Unternehmen | Dokumenttexte.
Im Fall, dass die Einstellung nicht aktiviert ist, gibt sie den Wert des ersten Parameters zurück.
Wenn die Einstellung aktiviert ist, gibt die Funktion den zweiten Parameter zurück, wenn er nicht leer ist. Wenn der zweite Parameter leer ist, wird der Name 2 des Subjekts zurückgegeben. Wenn der zweite Name des Subjekts im Datensatz im Bericht vorhanden ist, empfehlen wir, die erste Option zu verwenden, da sie schneller ist.
Header
function GetSubject(cSubject, cName2: String): String;
Beispiele
[GetSubject(<qSubjIzpis."acSubject">, <qSubjIzpis."acName">)]
[GetSubject(<qSubjIzpis."acSubject">, '']
dlGetSQLString
Die Funktion dlGetSQLString gibt die SQL-Klausel zurück, die nur der Parameter ist.
Header
function dlGetSQLString(ADataset: TfrxDataset): String;
Beispiele
Die häufigste Verwendung der Funktion dlGetSQLStringbesteht darin, die gesamte SELECT-Klausel anzuzeigen, die für den ausgewählten Datensatz angegeben ist, wenn der Bericht gestartet wird. Am häufigsten zeigen wir den Datensatz an, der zu einem Band namens Detailgehört:
begin
ShowMessage(dlGetSQLString(Detail.Dataset));
end.
Sie können auch den Datensatz nach Namen aufrufen, wie im folgenden Beispiel gezeigt.
begin
ShowMessage(dlGetSQLString(report.GetDataset('qReportIzpis')));
end.