Datalab funkcije
CallQRBeforeBandPrint
Procedura CallQRBeforeBandPrint apelează codul programului în PANTHEON scris pentru acest band. Este scris în evenimentul band-ului OnBeforePrint.
Header
procedura CallQRBeforeBandPrint(Sender: TfrxComponent; var PrintBand: Boolean);
Exemplu
procedura TitleOnBeforePrint(Sender: TfrxComponent);
începe
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
sfârșit;
dlBoolToYesNo
Funcția dlBoolToYesNo returnează 'Da' dacă valoarea parametrului este Adevărat, altfel returnează 'Nu'.
Header
funcția dlBoolToYesNo(bCondition: Boolean): String;
Exemplu
Pe rapoartele de declarație de servicii returnează dacă un articol este în garanție.
[dlBoolToYesNo(<qReportIzpis."anWarrenty"> = 'T')]
dlDiv
Funcția dlDiv returnează câtul a două numere dacă al doilea parametru nu este 0. Dacă al doilea parametru este 0, returnează 0.
Header
funcția dlDiv(nNum1, nNum2: Real): Real;
Exemplu
[dlDiv(<qReportIzpis."anQty">, <qReportIzpis."anUMToUM2">)]
dlDPAExecute
Funcția dlDPAExecute rulează un applet PANTHEON (DPA). Parametrul este ID-ul DPA.
Header
procedura dlDpaExecute(cKey: String);
Exemplu
dlDpaExecute('A000042');
dlGetCurrentUserID și dlGetCurrentUserName
Funcția dlGetCurrentUserID returnează ID-ul utilizatorului curent.
Funcția dlGetCurrentUserName returnează numele utilizatorului curent.
Headers
funcția dlGetCurrentUserID: String;
funcția dlGetCurrentUserName: String;
Exemplu
Utilizator curent:
[dlGetCurrentUserID] - [dlGetCurrentUserName]
dlGetKeyViewFromKey
Funcția dlGetKeyViewFromKey convertește o cheie de document neformatată într-una formatată în funcție de setările panoului administrativ.
Header
funcția dlGetKeyViewFromKey(cKey: String);
Exemplu
[dlGetKeyViewFromKey(<qReportIzpis."acKey">)]
dlGetPostCode
Funcția dlGetPostCode returnează codul poștal fără un prefix sau un postfix.
Header
funcția dlGetPostCode(cKey: String);
Exemplu
[dlGetPostCode(<qReportIzpis1."acPost">)]
dlGetSaldoStr
Funcția dlGetSaldoStr convertește numărul în notație cu caracterul D (însemnând debit) sau C (însemnând credit) la sfârșit. Este folosit în modulul Demeter (Finanțe).
Dacă primul parametru este mai mare decât 0, returnează primul parametru și caracterul D la sfârșit.
Dacă primul parametru este mai mic decât 0, returnează valoarea absolută a primului parametru și caracterul C la sfârșit.
Dacă primul parametru este 0 și al doilea parametru este B, returnează textul 'ECHILIBRAT'.
Dacă primul parametru este 0 și al doilea parametru este NU B, returnează al doilea parametru.
Header
funcția dlSaldoStr(nSaldo: Currency; cStr: String): String;
Exemple
[dlSaldoStr(nSaldo,'0')]
[dlSaldoStr(SUM(<qReportIzpis."anDebit"> - <qReportIzpis."anCredit">),'B')]
dlGetTempDirectory
Funcția dlGetTempDirectory returnează directorul temporar Windows. Acesta este convenabil atunci când se lucrează cu fișiere deoarece este singura folder în care scrierea și citirea fișierelor este întotdeauna posibilă.
Header
funcția dlGetTempDirectory: String;
Exemplu
Directorul temporar Windows: [dlGetTempDirectory]
dlLoadCompanyImage
Procedura dlLoadCompanyImage încarcă logo-ul companiei tale definit în panoul administrativ într-un obiect imagine pe printout.
Header
procedura dlLoadCompanyImage(Picture: TfrxPictureView);
Exemplu
Pune obiectul imagine numit Picture1 pe un printout arbitrar și scrie în evenimentul său OnBeforePrint:
procedura Picture1OnBeforePrint(Sender: TfrxComponent);
începe
dlLoadCompanyImage(Picture1);
sfârșit;
dlLoadProductImage
Procedura dlLoadProductImage încarcă logo-ul unui articol definit în registrul articolelor într-un obiect imagine pe printout.
Header
procedura dlLoadProductImage(Picture: TfrxPictureView; cIdent: String);
Exemplu
Pune obiectul imagine numit Picture1 pe un printout arbitrar și scrie evenimentul OnBeforePrint:
procedura Picture1OnBeforePrint(Sender: TfrxComponent);
începe
dlLoadProductImage(Picture1, <qReportIzpis."acIdent">);
sfârșit;
dlLoadUserSignature
Procedura dlLoadUserSignature încarcă semnătura utilizatorului definită în registrul subiecților într-un obiect imagine pe printout.
Header
procedura dlLoadUserSignature(Picture: TfrxPictureView; cIdent: String);
Exemplu
Pentru a arăta semnătura utilizatorului curent, pune obiectul imagine numit Picture1 pe un printout arbitrar și scrie evenimentul OnBeforePrint:
procedura Picture1OnBeforePrint(Sender: TfrxComponent);
începe
dlLoadUserSignature(Picture1, < dlGetCurrentUserID>);
sfârșit;
Pentru a arăta semnătura lui 1st semnatar pe printout-ul facturii, pune obiectul imagine numit Picture1 pe printout și scrie evenimentul OnBeforePrint.
procedura Picture1OnBeforePrint(Sender: TfrxComponent);
începe
dlLoadUserSignature(Picture1,<qReportIzpisD."anSigner1">);
sfârșit;
dlNumberInWords
Funcția dlNumberInWords returnează numărul ca cuvinte.
Primul parametru al funcției este un număr (valoare monetară).
Al doilea parametru este moneda.
Al treilea parametru este limba în care textul ar trebui să fie returnat. Dacă al treilea parametru este gol, returnează rezultatul în limba programului. Dacă limba nu există, returnează text gol.
Header
funcția dlNumberInWords(nNumber: Currency; cCurrency, cLanguage: String): String;
Exemplu
Rezultatul în engleză indiferent de limba programului: o mie EUR 00/100:
[dlNumberInWords(1000,'EUR','EN')]
Tipărește textul pentru plată pe factura emisă în limba programului:
[dlNumberInWords(<qReportIzpisD."anForPay">, <qReportIzpisD."acCurrency">, '')]
Tipărește textul pentru plată în engleză indiferent de limba programului:
[dlNumberInWords(dlTextToFloat(fZaPlacilo.Text), <qReportIzpisD."acCurrency">, 'EN')]
dlQuotedStr
Procedura dlQuotedStr imitează funcția Delphi QuotedStr pentru a rezolva cazurile în care există ghilimele (') în textul datelor.
Header
procedura dlQuotedStr(Str: String): String;
Exemplu
[SQLExp('select acCode from tHE_SetItemExtItemSubj where acSubject = ' + dlQuotedStr(<qReportIzpis."acSubject">) + ' ')]
dlStringReplace
Funcția dlStringReplace imitează funcția Delphi StringReplace. Diferența este că flag-urile sunt scrise ca șiruri în loc de elemente de opțiune. Dacă opțiunile nu sunt folosite, trebuie folosite șiruri goale.
flag-uri
rfReplaceAll – schimbă toate șirurile găsite, altfel schimbă doar prima apariție a textului.
rfIgnoreCase – nu distinge între litere mici și mari.
Header
funcția dlStringReplace(const S, OldPattern, NewPattern: String; Flags1, Flag2: String): String;
Exemplu
Pe printout-urile de sold, unde codurile de activitate pot fi scrise cu un punct (de exemplu 15.110) sau fără el (de exemplu 15110), punctul va fi șters dacă există.
[dlStringReplace(<qReportIzpis2."acActivityCode">,'.','','rfReplaceAll','')]
dlStrToFloatDef
Funcția dlStrToFloatDef convertește textul în număr zecimal. Dacă conversia eșuează, returnează al doilea parametru.
Header
funcția dlStrToFloatDef(S: String; Default: Extended): Extended;
Exemplu
[dlStrToFloatDef(SQLExp('select SUM(anAmount) from tHE_SADCost where acKey = ''' + <qReportIzpis."acKey"> + ''''), 0)]
dlStrToIntDef
Funcția dlStrToIntDef convertește textul în întregi. Dacă conversia eșuează, returnează al doilea parametru.
Header
funcția dlStrToIntDef(S: String; Default: Integer): Integer;
Exemplu
[dlStrToIntDef(FormatDateTime('d',<qReportIzpis."adDateDue">),0)]
dlTextToFloat
Funcția dlTextToFloat convertește textul cu separator de mii într-un număr zecimal. Dacă conversia eșuează, returnează 0.
Header
funcția dlTextToFloat(S: String): Extended;
Exemplu
Tipărește suma exactă fără separator de mii pe facturile de emisie a bunurilor.
[dlTextToFloat(fTrosarina.Text)]
ExtractMonth și Extract Week
Funcția ExtractMonth returnează luna unei date specificate sub formă de număr.
Funcția ExtractWeek returnează săptămâna unei date specificate sub formă de număr.
Headers
funcția ExtractMonth(Date: TDate): String;
funcția ExtractWeek(Date: TDate): String;
Exemplu
Luna și săptămâna curentă:
[ExtractMonth(DATE)]
[ExtractWeek(DATE)]
GetFormValue
Funcția GetFormValue returnează valoarea obiectului din fereastra PANTHEON. Parametrul este numele obiectului inclusiv fereastra PANTHEON pe care este plasat. Dacă obiectul nu există sau nu este creat, funcția returnează șir gol.
Header
funcția GetFormValue(FormComponentName: String): Variant;
Exemplu
Tipărește valoarea din caseta de editare pentru codul articolului în stoc la data printout-ului:
[GetFormValue('PrometIzpisTrenZaloga.fIdent')]
SQLExp
Funcția SQLExp returnează rezultatul instrucțiunii SQL executate pe baza de date.
Header
funcția SQLExp(sql: String): String;
Exemplu
Orașul companiei noastre:
[SQLExp('select dbo.fHE_GetOurCompanyCity()')]
Al doilea nume al companiei noastre:
[SQLExp('select S.acName2 from tHE_SetSubj S, tPA_SysParam P where S.acSubject = P.acOurCompany')]
GetOurCompany
Funcția GetOurCompany returnează ID-ul subiectului sau numele 2 al companiei noastre conform setării 'Utilizați numele 2 ca Nume Subiect' în panoul de administrare pe tab-ul Setări | Parametrii Programului | Companie | Texte Documente.
Header
funcția GetOurCompany: String;
Exemplu
Numele companiei noastre: [GetOurCompany]
GetSubject
Funcția GetSubject returnează ID-ul sau numele 2 al subiectului conform setării 'Utilizați numele 2 ca Nume Subiect' în panoul de administrare pe tab-ul Setări | Parametrii Programului | Companie | Texte Documente.
În cazul în care setarea NU este bifată, returnează valoarea primului parametru.
Dacă setarea ESTE bifată, funcția returnează al doilea parametru dacă nu este gol. Dacă al doilea parametru este gol, returnează numele 2 al subiectului. Dacă al doilea nume al subiectului este în setul de date pe raport, recomandăm să folosiți prima opțiune deoarece este mai rapidă.
Header
funcția GetSubject(cSubject, cName2: String): String;
Exemple
[GetSubject(<qSubjIzpis."acSubject">, <qSubjIzpis."acName">)]
[GetSubject(<qSubjIzpis."acSubject">, '']
dlGetSQLString
Funcția dlGetSQLString returnează clauza SQL care este singurul parametru.
Header
funcția dlGetSQLString(ADataset: TfrxDataset): String;
Exemple
Cea mai comună utilizare a funcției dlGetSQLString estesă afișeze întreaga clauză SELECT care este specificată pentru setul de date selectat atunci când raportul este pornit. Cel mai adesea afișăm setul de date care aparține unui band numit Detail:
începe
ShowMessage(dlGetSQLString(Detail.Dataset));
sfârșit.
De asemenea, poți apela setul de date după nume, așa cum este arătat în exemplul următor.
începe
ShowMessage(dlGetSQLString(report.GetDataset('qReportIzpis')));
sfârșit.