Script

Top  Previous  Next

Script

BrowseBlueLeft BrowseBlueRight

 

Î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.

Toti parametrii ficsi 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 prima linie în script: uses 'CommonUnit';

Parametrul ParamsInit este de tip Boolean find 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 functii intorc pretul articolului adaugat.

 

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 = ''''): Double

 

 - Daca unitatea de masura este BUC, SET sau PER atunci in bonul de consum se va pune doar NumberOfPieces, fara Length

 

function WA_AddItem(Code: String;

 Quantity: Double;

 ColourCategory: String = '''';

 Color: String = '''';

 ColorCode: String = ''''): Double

 

ColourCategory poate fi 'parent', caz in care se ia categoria de culoare, codul culorii si 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 in scriptul acestuia trebuie introdus la inceput:

uses 'CommonUnit';

 

 

Parametrii:

- ParamsInit este True pentru:

 1. Dialog introducere date la adaugarea unui accesoriu. Daca este True atunci trebuie initializati parametrii pe valorile initiale.

    Daca se doreste inchiderea din script a dialogului se apleaza DialogPage1.Visible := False;

 2. Script Desen la desenarea pe rapoarte. Daca este True trebuie micsorat MaxDrawH (daca este cazul) pentru a micsora inaltimea de afisare pe raport.

- MaxDrawW, MaxDrawH sunt dimensiunile maxime pentru Desen. MaxDrawH poate fi micsorat cand scriptul este apelat cu ParamsInit=True

- Width, Height sunt X-ul si Y-ul accesoriului

- FinalPrice este pretul final al accesorilui si va trebui calculat de scripul de calcul al consumului.

- Description este descrierea accesoriului conform parametrilor si este completata de scripul pentru descriere. Aceasta apare pe oferta de pret.

 

 

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