Script

Top  Previous  Next

Script accesorii

BrowseBlueLeft BrowseBlueRight

 

AccesoriiScript

 

Î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