Script |
Top Previous Next |
|
Începând cu WinArhi 8, calculul de preț al accesoriilor și desenarea lor poate fi făcută folosind metode avansate de programare, prin script-uri. Pentru aceasta, trebuie urmați următorii pași:
Prima dată trebuie stabiliți parametrii accesoriului și completată denumirea lor în listă.
Al doilea pas este crearea dialogului de configurare a accesoriului în care se completează parametrii. Acesta este un raport FastReport din lista de rapoarte la care, după adăugarea unei ferestre de dialog, se va șterge pagina raportului. Atât parametrii ficși cât și cei definiți sunt accesibili în interiorul scriptului. Parametrii generali se vor defini în scriptul CommonUnit. Pentru a face acești parametrii să fie vizibili, în scriptul dialogului trebuie pus ca primă linie în script: uses 'CommonUnit'; Parametrul ParamsInit este de tip Boolean fiind True doar la adăugarea accesoriului în ofertă. În acest caz, din script, parametrii definiți trebuie inițializați cu valorile de pornire. Dacă se dorește închiderea dialogului după această inițializare, se folosește DialogPage1.Active := False; Parametrii modificați de către scriptul dialogului se vor reține împreuna cu accesoriul. Tipul Boolean nu se va folosi ca și tip la parametrii de intrare (parametrii adiționali). Dacă se introduc parametrii noi, aceștia trebuie inițializați pe o valoare validă chiar dacă ParamsInit este False. Aceasta se va face de preferință în CommonUnit. Acest lucru este necesar pentru accesoriile deja create care nu au acești parametrii noi. Acești parametrii definiți sunt de asemenea disponibili și în restul scripturilor care se execută când este necesar.
Celelalte scripturi sunt: - Script descriere. Folosit pentru descrierea accesoriului conform parametrilor. Această descriere apare pe oferta de preț. De aceea este important sa se tină cont de traducere in acest caz. Altfel, toate variabilele care incep cu TrsText_ vor intra automat în traducerea bazei de date. Descrierea trebuie pusă în parametrul Description.
- Scriptul consum si debitare. Folosit pentru introducerea articolelor în bonul de consum și în lista de debitare.
- Script desen. Folosit pentru a afișa un desen pe oferta de preț și în dialogul de configurare. Se vor folosi parametrii accesoriului pe baza cărora, folosind funcțiile de desen, se va crea desenul accesoriului.
Functii pentru Desen procedure WA_Line(X1, Y1, X2, Y2: Double procedure WA_Polygon(X1, Y1, X2, Y2, X3, Y3: Double; X4: Double = 0; Y4: Double = 0; X5: Double = 0; Y5: Double = 0; X6: Double = 0; Y6: Double = 0; X7: Double = 0; Y7: Double = 0; X8: Double = 0; Y8: Double = 0) procedure WA_Circle(X, Y, R: Double) procedure WA_Rectangle(X1, Y1, X2, Y2: Double) procedure WA_Brush(Color: String) procedure WA_Pen(Color: String) procedure WA_TextOut(X, Y: Double; Text: String) procedure WA_Font(Size: Integer; Name, Color, Style: String) procedure WA_DrawImage(X1, Y1, X2, Y2: Integer; FileName: String; KeepAspectRatio: Boolean = True)
Functii Consum si Debitare Ambele funcții întorc prețul articolului adăugat.
function WA_AddCutItem(Code: String; Length: Double; NumberOfPieces: Double = 1; NumberOfCutedPieces: Integer = 0; Position: String = ''''; Angle1: Double = 90; Angle2: Double = 90; ColourCategory: String = ''''; Color: String = ''''; ColorCode: String = ''''; OptimizationNeeded: Boolean = False): Double
- Dacă unitatea de măsură este BUC, SET sau PER, atunci în bonul de consum se va pune doar NumberOfPieces, fără Length
function WA_AddItem(Code: String; Quantity: Double; ColourCategory: String = ''''; Color: String = ''''; ColorCode: String = ''''): Double
ColourCategory poate fi 'parent', caz în care se ia categoria de culoare, codul culorii și denumirea culorii de la accesoriul apelant.
Functii pentru Dialog culegere data procedure WA_DrawSelectedAcc(AfrxImageControl: String)
Functii generale function WA_OpenTable(FileName: String; InternalName: String = ''): TClientDataSet function WA_TranslateTableField(Text: String): String
Dupa crearea unui nou dialog de introducere a datelor în scriptul acestuia trebuie introdus la inceput: uses 'CommonUnit';
Parametrii: - ParamsInit este True pentru: 1. Dialog introducere date la adăugarea unui accesoriu. Daca este True, atunci trebuie initializati parametrii pe valorile initiale. Dacă se dorește închiderea din script a dialogului se apelează DialogPage1.Visible := False; 2. Script Desen la desenarea pe rapoarte. Dacă este True trebuie micsorat MaxDrawH (dacă este cazul) pentru a micșora înălțimea de afișare pe raport. - MaxDrawW, MaxDrawH sunt dimensiunile maxime pentru Desen. MaxDrawH poate fi micșorat când scriptul este apelat cu ParamsInit=True; - Width, Height sunt X-ul si Y-ul accesoriului; - FinalPrice este prețul final al accesoriului și va trebui calculat de scriptul de calcul al consumului; - Description este descrierea accesoriului conform parametrilor și este completată de scriptul pentru descriere. Aceasta apare pe oferta de preț.
Taste şi combinaţii de taste utilizate la editarea scriptului: Ctrl + F - pentru căutarea unui text; F3 - caută urmatorul text.
Taste şi combinaţii de taste utilizate des la editarea tabelelor:
Ctrl + N - copiază linia curentă Ctrl + Delete - şterge linia curentă Insert - inserează o linie goală Ctrl + M - editează câmpul curent Ctrl + H - şterge câmpul curent F12 - copiază câmpul curent în câmpul următor |